我正在使用
ShellExecuteEx来启动一个应用程序.
成功启动后,我正在读取TShellExecuteInfo.hProcess以获取已启动进程的句柄.
成功启动后,我正在读取TShellExecuteInfo.hProcess以获取已启动进程的句柄.
我想定期检查我的应用程序启动的进程是否仍在运行.
两个或多个具有相同名称的进程可以同时运行,我想确保我的应用程序正在检查正确的进程.
我希望能够在从Windows 2000到Windows上的Windows系统上执行此操作.
我知道有WinAPI函数GetProcessId正在做我想要的,但它不支持Windows 2000.
谢谢您的回答.
在该句柄上调用
WaitForSingleObject
,并使用零参数.如果进程仍在运行,该函数将返回Wait_Timeout;如果进程已终止,则它将返回Wait_Object_0(因为进程终止会导致其句柄发出信号.)
如果您想知道进程的退出状态是什么,请调用GetExitCodeProcess
.