检测由第三方DLL创建的MessageBoxes

时间:2012-02-26 15:52:33

标签: winapi messagebox setwindowshookex

我正在加载第三方DLL,有时他们会打开MessageBox窗口来阻止应用程序的流动,我希望能够检测到这种情况何时发生。

我正在尝试将SetWindowsHookExWH_CBT一起使用,但我的回调不会被调用。

我试着这样说:

SetWindowsHookEx (WH_CBT, myCallback, NULL, 0);

但它没有用。

这项功能的正确使用方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用WM_ENTERIDLE消息来检测是否有任何MessageBox窗口,只需使用FindWindowEx()进行检查。

这是C#,但想法不会改变: http://social.msdn.microsoft.com/forums/en-US/winforms/thread/d3f89686-e4d0-4bb1-9052-31abef2a9d2a