我试图确定一个进程是否仍然存在(在我检查的那一刻,我知道它可以在我检查后立即关闭)通过调用WaitForSingleObject()
一个句柄 get 从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());
}