2017-09-25 61 views
-2

我是C#.Net的新手。我想使用在「https://github.com/rvknth043/Global-Low-Level-Key-Board-And-Mouse-Hook」上找到的「Global-Low-Level-Key-Board-And-Mouse-Hook」庫。它用於在低級別捕獲keyup和keydown事件。C# - 低級別鍵鉤和處理事件

根據相關文檔我可以捕獲鍵向下和向上使用回撥功能的事件作爲

KeyboardHook keyboardHook = new KeyboardHook(); 
keyboardHook.KeyDown += new KeyboardHook.KeyboardHookCallback(keyboardHook_KeyDown); 
keyboardHook.KeyUp += new KeyboardHook.KeyboardHookCallback(keyboardHook_KeyUp); 

在裏面的keyboardHook_KeyDown & & keyboardHook_KeyUp,我知道哪個鍵有漲有跌。但是,我想在某些情況下處理此事件,例如,如果關鍵「R」和「C」down,則將事件處理爲true,否則傳遞給應用程序。

我通過班去,發現keyboardHook_KeyDown & & keyboardHook_KeyUp定義爲

public event KeyboardHookCallback KeyDown; 
public event KeyboardHookCallback KeyUp; 
+0

你試過了什麼,你得到什麼錯誤等等等 –

回答

1

也許最簡單的方法是將裏面自己的事件創建處理程序,並讓主應用程序訂閱該事件,那麼當處理程序收到一個事件時,它可以處理它感興趣的事件,並通過發佈自己的onEvent將剩下的事件傳遞給應用程序。如果你需要一個例子,請發表評論,我會把一些東西放在一起。

編輯:我可以問你爲什麼要使用低級鉤子,標準鉤子是否不適合你的目的?你不會說它是什麼樣的應用程序(表單等)。

+0

我想禁止組合鍵如CTL + TAB,CTL + ESC,ALT + TAB –

+0

我看,你真的想要windows級別的事件,很有道理。我的答案是立場。祝你好運。 –