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

时间:2014-07-09 06:03:34

标签: ui-automation

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

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

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

任何帮助将不胜感激。

参考链接:https://www.universalthread.com/ViewPageArticle.aspx?ID=199(我指的是本文中解释的方法。)

提前致谢!!!

2 个答案:

答案 0 :(得分:0)

可能全局Windows挂钩很有用。 有关本机C ++,请参阅the MSDN reference。 还有我成功用于本机GUI的Python绑定pyHook(可以找到64位包here)。 对于.NET代码,可能WinEvents引用将更有用。

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

答案 1 :(得分:0)

虽然这是一个老问题,但我不能停止在这里提出答案。

不,它无法通过UI自动化捕获任何鼠标或键盘事件。您已经获得了UI事件,我相信您最好的选择是在这些事件触发时检查鼠标位置,但这可能不适合您的场景。总结,UI Automation无法为您提供帮助。