我的应用程序需要监视系统上所有其他正在运行的应用程序。有什么方法可以在每个应用程序 exe 退出时收到通知吗?
我能找到的方法:
1) 使用 PSAPI 函数定期获取正在运行的 exe 列表。每次轮询时都会与之前的列表进行比较,以查找哪个应用程序/进程已退出。
缺点:需要不断轮询,会占用CPU时间。
2)为 WM_CLOSE 消息设置全局挂钩:使用此功能,当任何应用程序通过标题栏上的关闭按钮关闭时,我将能够收到通知
坏处:
(-)并非所有应用程序都会生成 WM_CLOSE 消息(例如:Total Video Player Exe)
(-)如果通过“退出”菜单或按钮(例如文件->退出)关闭应用程序,我无法捕获该消息
还有其他我错过的更好的方法吗?请指教。
- 使用 PSAPI 获取 PID 列表。
- 然后使用以下命令获取每个进程的句柄打开进程().
- Use 等待多个对象()当进程之一退出时发出信号。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)