1
A
回答
4
SendKeys
僅將按鍵組合發送到活動窗口。因此,如果您的C#應用程序在恰當的時間調用SendKeys
函數,那麼當用戶擁有其他應用程序的文本框時,所有內容都可以正常工作。
問題當然是現實世界很少這麼完美。你不知道用戶何時會關注其他應用程序,當然不知道他們是否點擊了文本框控件。你也不會有任何辦法讓用戶告訴你的C#應用程序當發送文本(如點擊一個按鈕),因爲爲了點擊按鈕,你的應用程序必須有前景焦點,因此而不是您想要接收鍵盤輸入的應用程序。
而這只是對的一些簡單概述,當您嘗試以這種方式進行UI自動化時,您會遇到一些潛在問題。這是非常脆弱的,並且可能容易導致用戶的一些意想不到的,令人憤怒的行爲。我強烈建議不要這樣做。更好的選擇是直接與其他應用程序通信,例如通過發送消息,而不是嘗試侵入性地控制其UI。
如果你絕對必須做到這一點,儘管相反的所有建議,最好的辦法是讓手柄要發送的文字窗口,然後發送一個WM_SETTEXT
message。這當然會要求你從Win32 API中調用一些函數。有關示例代碼,請參閱answers to this question。
相關問題
- 1. 使用C#將應用程序發送到特定的屏幕
- 2. 如何使用SendKeys語句將文本插入到其他應用程序
- 3. 如何將文本從編輯文本框發送到其他應用程序?
- 4. 發送文本到其他應用程序
- 5. 連續將數據從一個應用程序發送到其他應用程序的其他應用程序?
- 6. Sendkeys將%符號發送到文本框
- 7. 發送/發送消息到其他應用程序
- 8. 如何從swift中將應用程序發送到其他應用程序?
- 9. 將應用程序發送到其他設備
- 10. 將子域映射到特定的AppEngine應用程序版本
- 11. 必須發送文本以聚焦其他應用程序的文本框
- 12. 如何將數據發送到特定的應用程序?
- 13. 將數據或文件發送到Mac上的其他應用程序
- 14. 如何從我的應用程序發送文本到特定的WhatsApp用戶?
- 15. 如何從我的應用程序發送操作到其他應用程序?
- 16. vb.net sendkeys到特定的活動應用程序
- 17. 發送鍵盤到c#中的應用程序(sendkeys,postmessage,sendmessage都不工作)
- 18. 從C#發送密鑰到Java應用程序的文本框#
- 19. 點擊正在發送到其他應用程序的AppleEvents
- 20. 使用x-callback-url將二進制文件發送到其他應用程序
- 21. 從其他應用程序發送突出顯示的文本到科爾多瓦應用程序
- 22. 我怎麼能發送數據(文本)到其他應用程序(如消息)
- 23. 通過其他應用程序發送序列化文件
- 24. 發送文本到應用程序(非特定的電話號碼)
- 25. 使用其他應用程序發送消息到線應用程序
- 26. 將我的應用程序鏈接到其他應用程序
- 27. 重定向到其他應用程序的應用程序
- 28. 將數據從PHP腳本發送到C#應用程序
- 29. sendKeys - 發送特殊字符
- 30. 如何將setResult(RESULT_OK,mystring)發送到android中的其他應用程序