2012-10-26 84 views
0

可能重複:
Register more than one hotkey with RegisterHotKey註冊多個全球在C#中的熱鍵

很抱歉,但我真的用Google搜索它很長一段時間,我沒有得到任何明確的代碼!

我想知道如何使用該註冊在C#全局熱鍵:

Win32.RegisterHotKey(hWndSource.Handle, add, 
        Win32.MOD_CONTROL | Win32.MOD_SHIFT, Win32.VK_KEY_D); 

而且最重要的是如何捕獲多個熱鍵。

可以說,我想按Ctrl +Ë關鍵招做什麼按Ctrl +[R應該做不同的事情。

回答

0

看看我,而年齡,但(我相信)仍然使用鍵盤鉤子工作的解決方案,允許您創建一個鉤子,指定鍵盤快捷方式,並捕捉它作爲一個標準的.NET事件:

hook = new KeyboardHook(); 
hook.AddFilter(Keys.E, true /* Ctrl */, false /* Alt */, false /* Shift */); 
hook.KeyPressed +=new KeyboardHookEventHandler(hook_KeyPressed); 
hook.Install(); 

(使用三個布爾參數是遠離優雅,而且我會與今天標誌枚舉做到了我的道歉。)

來源是在這裏:http://weblogs.asp.net/avnerk/archive/2005/10/06/by-hook-or-by-crook.aspx