Ui automation 处理UI自动化鼠标和键盘事件

Ui automation 处理UI自动化鼠标和键盘事件,ui-automation,Ui Automation,是否可以使用UI自动化捕获任何应用程序的鼠标和键盘事件 我正在尝试创建一个UI自动化客户端应用程序,该应用程序处理UI自动化事件,如焦点更改、菜单打开、菜单关闭等(UIA_ToolTipOpenedEventId、UIA_ToolTipClosedEventId、UIA_MenuOpenedEventId等) 当任何目标应用程序上发生此类事件时,我的测试应用程序都能够接收这些事件。但是,我无法捕获任何鼠标或键盘事件 任何帮助都将不胜感激 参考链接:(我指的是本文中解释的方法。) 提前感谢 全局窗

是否可以使用UI自动化捕获任何应用程序的鼠标和键盘事件

我正在尝试创建一个UI自动化客户端应用程序,该应用程序处理UI自动化事件,如焦点更改、菜单打开、菜单关闭等(UIA_ToolTipOpenedEventId、UIA_ToolTipClosedEventId、UIA_MenuOpenedEventId等)

当任何目标应用程序上发生此类事件时,我的测试应用程序都能够接收这些事件。但是,我无法捕获任何鼠标或键盘事件

任何帮助都将不胜感激

参考链接:(我指的是本文中解释的方法。)


提前感谢

全局窗口钩子可能很有用。 参见本机C++。 还有一些Python绑定(可以找到64位包),我成功地将其用于本机GUI。 对于.NET代码,参考可能更有用


捕获事件时,您可以获取句柄或鼠标坐标,并使用UI自动化API中的ElementFromPoint或ElementFromHandle函数等功能。

虽然这是一个老问题,但我还是忍不住要在这里添加答案


不,不可能通过UI自动化捕获任何鼠标或键盘事件。您已经获得了UI事件,我相信您最好的选择是在这些事件触发时检查鼠标位置,但这对于您的场景来说可能还不够好。总之,UI自动化在这方面帮不了你。

谢谢。但是由于限制,我们不能使用任何挂钩。挂钩肯定能解决这个问题。但是,我们只需要使用UIAutomation API和UIAutomation接口来实现这一点。