Last Updated 2004/02/20
Programming Tips Windows コンソール  索 引 
コンソールアプリの同期的起動
2004/02/20

16 ビットなコンソールアプリケーションを CreateProcess() で呼び出して,WaitForSingleObject() で待機しても終了を感知できない.
(コンソールウィンドウが表示されたままとなる)

CreateProcess() の STARTUPINFO のウィンドウスタイルを SW_HIDE にしてもウィンドウが表示されないが,やっぱりプロセスの終了を感知できない.
(プロセス終了を感知する方法は「コンソールアプリケーションを非表示状態で実行」を参照)

どうしても終了を感知したいのであれば,command.com のオプションで /c を指定する.

CreateProcess(NULL, "foo", .....);

CreateProcess(NULL, "command.com /c foo",....);


参照
コンソールの制御
コンソールアプリケーションを非表示状態で実行
前後のTips
コンソールアプリの同期的起動

DSS ProgrammingTipsCGI Ver2.01