Windows资源管理器不会收到WM_DESTROY。如何检测用户何时关闭其资源管理器窗口?

时间:2013-06-01 01:21:52

标签: winapi hook windows-explorer setwindowshookex

我正在编写一个需要检测窗口何时关闭的程序。目前我正在使用SetWindowsHookEx来注册一个可以监视窗口消息的钩子。

我正在监视WM_DESTROY事件,以找出窗口何时被销毁。这适用于大多数Windows,Windows资源管理器是一个值得注意的例外。 Windows资源管理器在终止时似乎没有收到WM_DESTROY事件(但接收到大多数其他有趣的事件)。

Windows资源管理器没有收到WM_DESTROY的原因吗?

更重要的是,我是否可以使用另一种方法来检测Windows资源管理器何时终止而不是监听WM_DESTROY?

谢谢!

我正在使用Windows 7(不确定此信息的相关性)

1 个答案:

答案 0 :(得分:2)

使用WH_CBT挂钩而不是消息挂钩,让它处理HCBT_DESTROYWND次通知。