gpt4 book ai didi

microsoft-ui-automation - IUIAutomation::RemoveAllEventHandlers 挂起

转载 作者:行者123 更新时间:2023-12-04 08:45:22 24 4
gpt4 key购买 nike

我正在用 C++ 开发一个应用程序,它使用 UIAutomation 接收与用户交互相关的重要事件的通知。我已经尝试通过调用 AddAutomationEventHandler 来监听窗口打开事件的事件处理程序,但是我在退出之前停止通知和清理时遇到问题。如果用户启动了某些应用程序,例如 Firefox,则调用 RemoveAutomationEventHandlerhangs。 (在这种情况下,调用 RemoveAllEventHandlers 也会挂起。)请注意,所有添加或删除事件处理程序的调用都是在同一个非 UI 线程的上下文中完成的。

注意:我在 Windows 7 和 Windows 8 上看到了这种行为。

关于为什么会发生这种情况或如何解决它的任何想法?是什么让结构改变事件与其他事件不同?

最佳答案

窗口打开/关闭事件通过内核 WinEvent 处理程序实现;结构更改事件涉及客户端应用程序。您的非 ui 线程是否泵送消息? UI 自动化需要抽取消息以使跨进程通信正常工作。

关于microsoft-ui-automation - IUIAutomation::RemoveAllEventHandlers 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13574052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com