Exemple #1
0
        public KeyboardHookController(Action <Keys> keyDownCallback, Action <Keys> keyUpCallback)
        {
            _keyDownCallback    = keyDownCallback;
            _keyUpCallback      = keyUpCallback;
            _globalKeyboardHook = new GlobalKeyboardHook();

            _hookID = _globalKeyboardHook.SetHook(HookCallback);
        }
Exemple #2
0
 private IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
 {
     if (nCode >= 0)
     {
         int vkCode = Marshal.ReadInt32(lParam);
         if (wParam == (IntPtr)WM_KEYDOWN)
         {
             _keyDownCallback((Keys)vkCode);
         }
         else if (wParam == (IntPtr)WM_KEYUP)
         {
             _keyUpCallback((Keys)vkCode);
         }
     }
     return(GlobalKeyboardHook.CallNextHookEx(_hookID, nCode, wParam, lParam));
 }
Exemple #3
0
 public void Dispose()
 {
     GlobalKeyboardHook.UnhookWindowsHookEx(_hookID);
 }