windows – 如何在具有句柄时检查给定进程是否正在运行

我正在使用 ShellExecuteEx来启动一个应用程序.
成功启动后,我正在读取TShellExecuteInfo.hProcess以获取启动进程的句柄.

我想定期检查我的应用程序启动的进程是否仍在运行.
两个或多个具有相同名称的进程可以同时运行,我想确保我的应用程序正在检查正确的进程.

我希望能够在从Windows 2000到Windows上的Windows系统上执行此操作.

我知道有WinAPI函数GetProcessId正在做我想要的,但它不支持Windows 2000.

谢谢您的回答.

在该句柄上调用 WaitForSingleObject,并使用零参数.如果进程仍在运行,该函数将返回Wait_Timeout;如果进程已终止,则它将返回Wait_Object_0(因为进程终止会导致其句柄发出信号.)

如果您想知道进程的退出状态是什么,请调用GetExitCodeProcess.

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...