Win32:获取其他应用程序关闭/退出的消息通知

2023-12-14

我的应用程序需要监视系统上所有其他正在运行的应用程序。有什么方法可以在每个应用程序 exe 退出时收到通知吗?

我能找到的方法:

1) 使用 PSAPI 函数定期获取正在运行的 exe 列表。每次轮询时都会与之前的列表进行比较,以查找哪个应用程序/进程已退出。 缺点:需要不断轮询,会占用CPU时间。

2)为 WM_CLOSE 消息设置全局挂钩:使用此功能,当任何应用程序通过标题栏上的关闭按钮关闭时,我将能够收到通知

坏处: (-)并非所有应用程序都会生成 WM_CLOSE 消息(例如:Total Video Player Exe) (-)如果通过“退出”菜单或按钮(例如文件->退出)关闭应用程序,我无法捕获该消息

还有其他我错过的更好的方法吗?请指教。


  1. 使用 PSAPI 获取 PID 列表。
  2. 然后使用以下命令获取每个进程的句柄打开进程().
  3. Use 等待多个对象()当进程之一退出时发出信号。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Win32:获取其他应用程序关闭/退出的消息通知 的相关文章

随机推荐