Re: プロセスの状態取得
Kenji Aoki wrote:
> 今はCreateProcessを行ったときのhProcessを記録しておき、所定時間経過後
> 無条件で(プロセスが生きているかチェックせずに)TerminateProcessしていますが
おおよそ、こんな感じになるでしょう。
CreateProcess( abc.exe , .... , &pi )
r = WaitForSingleObject( pi.hProcess, 30*1000 ) ←ミソ
switch (r) {
case WAIT_TIMEOUT:
TerminateProcess( pi.hProcess )
break;
case WAIT_OBJECT_0:
GetExitCodeProcess( pi.hProcess, &result ) ←processが返した値が欲しいとき
MessageBox(hwnd, "うまくいったよ", "(^^)", MB_OK);
break;
...
...
}
CloseHandle(pi.hThread)
CloseHandle(pi.hProcess)
WaitForSingleObject, WaitForMultipleObjects, MsgWaitForMultipleObjects
などがありますので、必要に応じて使い分けてください。
----- Takeshi SHIGIHARA
cygnus@tka.att.ne.jp
cygnus@po.jah.ne.jp -----
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735