Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在编写一个需要检测特定 Windows 进程终止的 Windows 服务(C++)。
我考虑了两种不同的方法来检测终止:
WaitForSingleObject(hHandle, INFINITE)
明显的区别是 WMI 使用了一个CALLBACK函数。
CALLBACK
这两种方法之间的其他主要区别、优点和缺点是什么?
谢谢!
我之前写过一个进程监控服务,使用WMI来监控进程。它允许您指定要监视的进程的“where”子句,并且正如您所提到的,当发生某些事情时调用您。
这样做的好处是您不必有一个线程块等待相关进程退出,而是可以只运行 WMI 查询并在某些事情终止时等待回调。缺点是 WMI API 比 Win32 API 更冗长。特别是,您必须在 WMI 中将查询构建为字符串。