0

コンソールプログラムから別CreateProcess()コンソールプログラムを実行していますが、最初のプログラムと同じウィンドウで実行されます。

STARTUPINFO sinfo;
PROCESS_INFORMATION pinfo;

LPSTR commandLine = " \"Cows and Bulls.exe\" test ";

ZeroMemory(&sinfo, sizeof(sinfo));
ZeroMemory(&pinfo, sizeof(pinfo));

if(!CreateProcess(0,commandLine, 0, 0, FALSE, 0, 0, 0, &sinfo, &pinfo))
    cout << "failed";

これは私のコードです。私は何を間違っていますか?を追加すると、とても楽しくなります。

for(int i=0; true; i++)
{
    cout << i;
    Sleep(1000);
}

最初のものに。次に、次の数値の出力を開始します。

2 つのプログラムがマージされたようなものです.. それは望ましくありません。新しいウィンドウを開きたいのです。

PS私は引数を渡しています、はい、しかし私がカットした場合test、結果は同じです。

4

1 に答える 1

4

子プロセスに新しいコンソールを与えるには、呼び出しの引数にCREATE_NEW_CONSOLEフラグを設定する必要があります。ドキュメントはこちら: http://msdn.microsoft.com/en-gb/library/windows/desktop/ms682425(v=vs.85).aspxdwCreationFlagsCreateProcess

于 2013-04-04T21:37:53.943 に答える