4

我正在编写程序来自动化 win32 表单。我正在使用 Microsoft UI 自动化库。我不知道如何获取和调用该表单上的预定义快捷键。现在我只需获取 MenuItem 的 AutomationElement 并调用单击该元素。有什么解决办法吗?有人这样做吗?

4

2 回答 2

3

据我所知,AutomationElementInformation 具有AcceleratorKeyAccessKey属性。
来自 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 回答