我正在为IE编写一个插件。我需要在外部点击时关闭模态对话框。
到目前为止,我已经使用WM_NCACTIVATE接收这些通知,但似乎在Windows 7(IE8)上我没有收到这个消息(我正在低完整性下运行,并使用spy++进行验证;当我以高完整性运行时它似乎有效 - 奇怪的事情)。
我尝试使用DeskBand UI线程的常规鼠标钩子。我确实获得了所有鼠标事件,除了来自对话框外部的事件。
所以我转而使用全局低级别鼠标钩子(WH_MOUSE_LL)。一切都很顺利,但出现了一个非常奇怪的问题:当我单击任何一个标题栏按钮时,会出现5-10秒的冻结。
经过一些在线研究,我意识到这是一个常见的问题,但我没有找到解决方案。有些人说这是性能问题,但即使我的钩子函数只调用“CallNextHook”,它仍然会发生。
有没有什么想法可以解决这个问题或者有没有其他的想法来在外部点击时关闭模态对话框?