我正在加载第三方DLL,有时他们会打开MessageBox窗口来阻止应用程序的流动,我希望能够检测到这种情况何时发生。
我正在尝试将SetWindowsHookEx
与WH_CBT
一起使用,但我的回调不会被调用。
我试着这样说:
SetWindowsHookEx (WH_CBT, myCallback, NULL, 0);
但它没有用。
这项功能的正确使用方法是什么?
答案 0 :(得分:0)
您可以使用WM_ENTERIDLE消息来检测是否有任何MessageBox窗口,只需使用FindWindowEx()进行检查。
这是C#,但想法不会改变: http://social.msdn.microsoft.com/forums/en-US/winforms/thread/d3f89686-e4d0-4bb1-9052-31abef2a9d2a