我正在使用我在CodeProject.com for a low-level keyboard hook上找到的代碼。唯一的問題是它使用不能用單聲道工作的外部DLL調用。我想知道是否有人知道一種方式來完成代碼的相同的事情,但會運行在Windows使用.net和Linux使用單聲道?我正在製作一個Dashboard like application。該程序位於系統托盤中,當用戶按下熱鍵時,它將彈出所有的小工具。所以程序沒有焦點,所以通常它不會捕獲任何按鍵,所以我使用低級鍵盤鉤子,並且鉤住了用戶定義爲熱鍵的兩個鍵。但是我正在使用Windows DLL調用,這在使用mono的Linux中不起作用。所以我想知道是否有辦法做同樣的事情,但會運行在Linux使用單聲道?C#單聲道 - 低級別鍵盤掛鉤
4
A
回答
3
這是不可能只使用.NET來實現這個行爲。您必須爲運行的每個平臺(Windows,Linux,Mac OS)使用二進制驅動程序。也許可以只使用P/Invoke(檢測你正在運行的操作系統,調用適當的系統庫),這樣你就不必分發任何「額外的」dll/so/dylib。
4
不知道你想要捕捉什麼,很難確定什麼會適合你。你可能想看看使用Application.AddMessageFilter。
一個例子是在這裏:http://dn.codegear.com/article/30129
相關問題
- 1. 低級鍵盤掛鉤
- 2. C#低級鍵盤掛鉤不工作
- 3. 使用低級別鍵盤掛鉤更改鍵盤字符
- 4. 多個鍵盤和低級掛鉤
- 5. 檢測低級別鍵盤掛鉤中的特定鍵
- 6. 什麼會導致Windows取消掛鉤低級(全局)鍵盤掛鉤?
- 7. 在c#.net 3.5中凍結全局低級別鍵盤鉤
- 8. 如何使用低級別的鍵盤鉤子在C#
- 9. 低級鍵盤掛鉤檢查源設備ID
- 10. C#低級別鍵盤設備
- 11. Java鍵盤掛鉤
- 12. 全局低級別鍵盤鉤子 - 競爭條件
- 13. 針對Mac的掛鉤,特別是鍵盤掛鉤
- 14. 鍵盤掛鉤存儲鍵
- 15. 低級別的鍵盤鉤子不是UI線程
- 16. C#低級別鼠標掛鉤和窗體事件處理
- 17. Windows 8中的某些窗口阻止我的低級鍵盤掛鉤工作
- 18. 鍵盤掛鉤問題
- 19. 檢測鍵盤掛鉤
- 20. Windows鍵盤掛鉤掛起調試器
- 21. 鍵盤掛鉤改變鍵的行爲
- 22. Windows上的低級別鍵盤輸入
- 23. C# - 低級別鍵鉤和處理事件
- 24. 創建SendInput時會調用全局低級別鍵盤掛鉤。如何預防它?
- 25. 按了什麼鍵?鍵盤掛鉤
- 26. 低級別鼠標和鍵盤鉤子回調在哪個線程中運行?
- 27. 低級鍵盤掛鉤問題:應用程序不集中時鍵盤狀態丟失(德爾福)
- 28. .NET應用程序中沒有調用低級別鍵盤鉤子
- 29. C++/Java - 鍵盤鉤
- 30. 全局鍵盤掛鉤不工作
你爲什麼要用這個? – Bernard 2008-09-26 06:32:32
我刪除了我的答案,因爲它沒有真正回答如何在Linux上添加低級別鍵盤掛鉤。 – 2008-09-26 14:20:32