我在寫程序來自動化win32表單。我正在使用Microsoft UI自動化庫。我不知道如何在窗體上獲取並調用預先定義的快捷鍵。現在我只需獲取MenuItem的AutomationElement並調用該元素的單擊即可。 任何解決方案?有人這樣做嗎?如何在UI自動化中調用快捷鍵?/.NET
4
A
回答
3
據我所知AutomationElementInformation有一個AcceleratorKey和AccessKey屬性。
從MSDN一些提取:
AutomationElement :: AutomationElementInformation :: AcceleratorKey
該調用與元件相關聯的動作鍵組合的序列。
和:
AutomationElement :: AutomationElementInformation :: ACCESSKEY
的字符,與元素關聯,即用於激活該元素。
然後您可以使用SendKeys來模擬按鍵。
另一種方法是使用keybd___event,但AFAIK已棄用,Microsoft建議改用SendInput。可能會幫助你。
2
您應該激活主窗口,並調用SendKeys :: Send將密鑰發送到活動窗口。 這是SendKeys類中的一個靜態方法,所以將密鑰發送到窗口,不需要主窗口的AutomationElement。
相關問題
- 1. vim快捷鍵用於最大化和最小化快捷鍵
- 2. 如何在.NET中製作鍵盤快捷鍵
- 3. 如何在CKeditor中使用jQuery自定義鍵盤快捷鍵?
- 4. Excel中自動完成和自動填充鍵盤快捷鍵
- 5. 調用鍵盤快捷鍵,一鍵
- 6. 如何從AppleScript中調用鍵盤快捷鍵?
- 7. 如何在Android Studio中創建自定義鍵盤快捷鍵
- 8. 在Silverlight中禁用瀏覽器快捷鍵/快捷鍵?
- 9. 在Windows上調整鍵盤快捷鍵
- 10. 在Visual Studio中鍵入快捷鍵的快捷鍵是什麼?
- 11. Windows自定義快捷鍵
- 12. 如何設置快捷鍵快捷鍵「Ctrl +加號」
- 13. 本地化鍵盤快捷鍵
- 14. Winkey應用程序(C#)中的Windows快捷鍵+ [快捷鍵]
- 15. UI自動化測試在.NET
- 16. 查找:從鍵盤快捷鍵在vim中調用的命令
- 17. 如何在瀏覽器快捷鍵上調用方法?
- 18. 快捷鍵在Eclipse
- 19. 在控制檯中使用自定義鍵盤快捷鍵
- 20. Android啓動快捷鍵
- 21. UI自動化.net調用模式不起作用
- 22. 將繩索自動導入到emacs中的鍵盤快捷鍵
- 23. 使用鍵盤快捷鍵
- 24. 禁用鍵盤快捷鍵
- 25. 禁用鍵盤快捷鍵
- 26. 鍵盤快捷鍵在MDI
- 27. 如何在aquamacs(或emacs)中使用mac'command'鍵定義快捷鍵
- 28. 如何在Mac X11 xterm中啓用粘貼鍵盤快捷鍵?
- 29. 如何在NSTextView中禁用這些鍵盤快捷鍵?
- 30. 如何使用鍵盤快捷鍵在Intellij中關閉文件?
感謝AcceleratorKey和AccessKey。這很有幫助。 但我無法使用SendKeys,因爲使用UI Automation Library是使用Win32 Form時的另一種方法。 我有AutomationElemnt並可以獲取它的模式來與控件類型屬性進行交互。 在我的情況下,我有MainWindow AutomationElement,它有兩種模式:WindowPattern和TransformPattern。並且使用此模式無法模擬SendKeys。 所以,我仍然不明白我如何使用快捷鍵。 – Loki 2009-09-01 19:28:54
你可以使用* SendInput *嗎? – 2009-09-02 08:11:55