如何检测进程何时不存在

How to detect when a process doesnt exist anymore?

本文关键字:进程 何时 不存在 检测 何检测      更新时间:2024-09-23

试图找到一种在进程不存在时得到通知的方法,而不是不断检查类似"if process exist"的东西。

我有哪些选择?

您可以使用OpenProcess打开一个进程,并在该进程上使用WaitForSingleObject。一旦目标进程不存在,函数WaitForSingleObject将立即返回。但是,如果您希望在目标进程不存在时立即通知您的程序,则必须使一个线程处于恒定等待状态。

另一种选择是调用RegisterWaitForSingleObject,它将自动为您创建一个线程(或使用线程池中的现有线程(,它将等待进程,并在目标进程不存在时调用您指定的回调函数。