为什么SetWinEventHook有时会停止/暂停监控事件?

启动WinEventHook似乎没有可靠的工作。 什么会导致事件挂钩有时只监视事件(或运行已识别的事件proc函数)? 即。在IE8 BHO里面
HWINEVENTHOOK eHook = ::SetWinEventHook(EVENT_OBJECT_SHOW, EVENT_OBJECT_REORDER
 , 0
 , MSAALib_WinEventProc
 , GetCurrentProcessId(), GetCurrentThreadId()
 , WINEVENT_OUTOFCONTEXT );
我经常得到事件,但是在最近的构建之后它不起作用,除非我还运行MS“Accessible event watcher”,停止并启动事件观察器也会停止并启动我的事件proc被调用。 我没有在任何最近的版本中更改SetWinEventHook,所以我不相信这是原因。 所有其他线程/消息泵送操作都按预期进行,因此我不认为无法在线程上泵送消息是原因。 使用http://www.quirksmode.org/dom/events/tests/DOMtree.html测试获取重新排序事件并添加/删除测试元素。 编辑: 在进一步测试后,似乎改变可能是我停止运行“可访问事件观察器”而不是构建。 没有“可访问事件观察者”的事件挂钩捕获的事件范围似乎是[first,last]或eventMin到eventMax-1,这不是按照文档SetWinEventHook启动“可访问事件观察器”时范围的变化和似乎是[first,last],所以使用EVENT_OBJECT_FOCUS的eventMax似乎得到了看到EVENT_OBJECT_REORDER的预期结果。 有没有我在这里缺少的东西,或者文档是错的,事件观察者也在做什么?     
已邀请:

要回复问题请先登录注册