根據msdn上的this article,可以設置一個特定的窗口作爲前景窗口,然後然後發送鍵擊到它......但我需要發送擊鍵到窗口背景,這樣,無論用戶在做什麼都可以繼續不間斷。發送鍵盤到非前景窗口
回答
也許你應該在前臺窗口中捕捉按鍵並將它們傳遞給背景窗口(委託)。或者,如果它們有點複雜,可以使用全局熱鍵。無論如何,將密鑰從前臺表單傳遞到背景表單應該是更好的解決方案。
我發現一個很好的例子,它不是關於熱鍵,但這個概念也適用於你的情況。
http://www.codeproject.com/KB/cs/pass_data_between_forms.aspx
所以基本上一個按鍵監聽器? Java有一個機器人類,用於偵聽按鍵並可以對它們進行操作(例如,輸入「Hello World」,而類將自動將其寫入文件或其他窗口)。
我在過去創造了類似的東西。您可以創建一個Java程序在常量while循環中在後臺運行,並只聽按鍵。設置程序將每個按鍵寫入文件或特定位置。因爲這是一個短暫的while循環,只有在按下某個鍵時才起作用,它幾乎不佔用處理能力,並且不會影響前臺程序的性能。
我需要程序在後臺接收keyevents,就好像它被聚焦並且用戶按下了鍵盤上的一個鍵。 – Entity
我用快捷鍵做到這一點。我有一個應用程序,它有多個子窗口。主窗口啓用子窗口的Form.KeyPreview屬性,然後在該子窗口上註冊適當的事件(KeyPress,KeyDown或KeyUp)。使用此設置,主窗口可以處理子窗口中的所有密鑰。
我在Windows Mobile/CE上使用的技術是鉤住鍵盤,然後只需使用PostMessage()
將它們發送到目標窗口即可正常處理。這種技術也應該在桌面上運行。代碼項目中有幾個鉤住鍵盤的例子 - http://www.codeproject.com/KB/system/globalsystemhook.aspx。你的問題不清楚前臺窗口是否是你的應用程序的一部分。如果是這樣,是不是隻需從背景表單訂閱前景表單鍵事件之一?
- 1. Mac:將鍵盤事件發送到背景窗口
- 2. 可可發送背景窗口前
- 3. 如何將鍵盤按鍵發送到活動窗口?
- 4. C# - 發送鍵盤事件到(上一個)選擇的窗口
- 5. 如何將鍵盤輸入發送到OpenGL/DirectX遊戲窗口?
- 6. c#發送鍵盤命令到另一個窗口/進程
- 7. 發送數據到非父窗口
- 8. 發送擊鍵組合到背景窗口
- 9. 發送關鍵事件到子窗口
- 10. 發送「Enter」鍵到瀏覽器窗口
- 11. 如何將擊鍵發送到窗口?
- 12. 將鍵擊發送到窗口
- 13. PyGObject和glade發送窗口到前面
- 14. 不傳播到窗口的背景鍵盤快捷方式
- 15. 「發送」鍵盤按鍵到控制
- 16. 防止鍵盤輸入到達窗口
- 17. 從linux的wxwidget應用程序發送鍵盤事件到其他窗口
- 18. 如何使用SendKeys將模擬鍵盤筆畫發送到活動窗口
- 19. ios遠程鍵盤窗口
- 20. 窗口前景無窗口把手
- 21. 當按下「a」鍵時,將「k」鍵發送到其他窗口
- 22. 如何發送鍵入某些窗口
- 23. 將鍵盤輸入發送到特定窗口而不中斷Windows中的背景
- 24. 在C++的窗口上用SendInput發送同時發生的鍵盤事件
- 25. 我想製作一個虛擬鍵盤。我是否需要將WM_KEYDOWN發送到當前活動窗口或HWND_BROADCAST?
- 26. 切換窗口的鍵盤快捷鍵
- 27. 窗口鍵盤鍵碼不起作用
- 28. Windows鍵盤快捷鍵和子窗口
- 29. Applescript - 使窗口前景
- 30. Popup只有前景窗口
這在Windows中不可行。 –