我正在编写程序来自动化 win32 表单。我正在使用 Microsoft UI 自动化库。我不知道如何获取和调用该表单上的预定义快捷键。现在我只需获取 MenuItem 的 AutomationElement 并调用单击该元素。有什么解决办法吗?有人这样做吗?
问问题
3434 次
2 回答
3
据我所知,AutomationElementInformation 具有AcceleratorKey和AccessKey属性。
来自 MSDN 的一些摘录:
AutomationElement::AutomationElementInformation::AcceleratorKey
调用与元素关联的操作的键组合序列。
和:
AutomationElement::AutomationElementInformation::AccessKey
与元素关联的字符,用于激活该元素。
之后你可以使用SendKeys来模拟按键。
另一种方法是使用 keybd___event 但是,AFAIK,它已被弃用,微软建议使用SendInput代替。也许它会帮助你。
于 2009-09-01T09:22:18.113 回答
2
您应该激活主窗口,并调用 SendKeys::Send 将密钥发送到活动窗口。它是 SendKeys 类中的静态方法,因此,将键发送到窗口不需要主窗口的 AutomationElement。
于 2009-09-28T06:04:07.920 回答