我想寫一個應用程序,可以選擇外部應用程序中的文本框中的所有文本,將其複製到剪貼板,以編程方式執行更改到字符串,然後發送修改過的字符串返回到外部應用程序。我沒有編寫外部應用程序,也無法訪問其代碼,也無法聯繫開發人員並讓他們進行更改。外部應用程序是基於客戶端 - 服務器的,我只能與客戶端的用戶界面交互。在外部應用程序執行上下文菜單命令
我遇到的問題是,我可以輕鬆地將鍵盤命令發送到應用程序以發送或刪除文本,但我無法選擇所有文本。使用鍵盤快捷鍵Ctrl-A,Ctrl-Shift-Home,Ctrl-Shift-End等不起作用。三次點擊文本框也不起作用。
但是,我可以右鍵單擊文本框並調出上下文菜單,然後選擇命令「全選」。我想知道是否有辦法將上下文菜單命令發送到應用程序,而不必顯示上下文菜單。
我希望這兩個應用程序看起來像用戶一樣儘可能無縫地工作。有沒有人有任何可能的工作建議?
你正在努力。如果要自動化UI,請使用[UI自動化](https://msdn.microsoft.com/zh-cn/library/ms747327.aspx)。 – IInspectable
我一定會考慮的!我沒有看到我的谷歌搜索中提到的這個類。一旦我有機會惹惱它,我會再次迴應。謝謝! –
UI自動化對於簡單的任務可能會過度。您也可以使用「WM_GETTEXT」和「WM_SETTEXT」消息。無論哪種方式,都不需要涉及剪貼板,因此在取回文本之前不需要選擇文本(您可以使用'EM_SETSEL')。 –