2008-09-26 64 views
4

我正在使用我在CodeProject.com for a low-level keyboard hook上找到的代碼。唯一的問題是它使用不能用單聲道工作的外部DLL調用。我想知道是否有人知道一種方式來完成代碼的相同的事情,但會運行在Windows使用.net和Linux使用單聲道?我正在製作一個Dashboard like application。該程序位於系統托盤中,當用戶按下熱鍵時,它將彈出所有的小工具。所以程序沒有焦點,所以通常它不會捕獲任何按鍵,所以我使用低級鍵盤鉤子,並且鉤住了用戶定義爲熱鍵的兩個鍵。但是我正在使用Windows DLL調用,這在使用mono的Linux中不起作用。所以我想知道是否有辦法做同樣的事情,但會運行在Linux使用單聲道?C#單聲道 - 低級別鍵盤掛鉤

+0

你爲什麼要用這個? – Bernard 2008-09-26 06:32:32

+0

我刪除了我的答案,因爲它沒有真正回答如何在Linux上添加低級別鍵盤掛鉤。 – 2008-09-26 14:20:32

回答

3

這是不可能只使用.NET來實現這個行爲。您必須爲運行的每個平臺(Windows,Linux,Mac OS)使用二進制驅動程序。也許可以只使用P/Invoke(檢測你正在運行的操作系統,調用適當的系統庫),這樣你就不必分發任何「額外的」dll/so/dylib。