プロセスがまだ生きているかどうかを判断しようとしています (確認した時点では、確認を行った直後にプロセスを閉じることができることを認識していWaitForSingleObject()
ます) Process.MainWindowHandle
。そして_IsIconic()
WAIT_FAILED
GetLastError()
ERROR_INVALID_HANDLE
UInt32 r = WaitForSingleObject(handle, 0);
if(r == WAIT_OBJECT_0)
{
MessageBox.Show("still running!");
}
if(r == WAIT_FAILED)
{
throw new Win32Exception(Marshal.GetLastWin32Error());
}