Пример #1
0
 protected virtual void Dispose(bool disposing)
 {
     if (!disposed)
     {
         if (kbHookHandle != IntPtr.Zero)
         {
             GlobalHooksHelper.UnhookWindowsHookEx(kbHookHandle);
         }
         disposed = true;
     }
 }
Пример #2
0
        private IntPtr KeyboardHookDelegate(Int32 nCode, IntPtr wParam, IntPtr lParam)
        {
            if (nCode >= 0 && (wParam == (IntPtr)WM_KEYDOWN || wParam == (IntPtr)WM_SYSKEYDOWN))
            {
                int vkCode = Marshal.ReadInt32(lParam);
                if (null != KeyPressEvent)
                {
                    KeyPressEvent(this, new KeyPressedArgs(KeyInterop.KeyFromVirtualKey(vkCode)));
                }
            }

            return(GlobalHooksHelper.CallNextHookEx(kbHookHandle, nCode, wParam, lParam));
        }
Пример #3
0
 public KeyboardHook()
 {
     kbHookDelegate = KeyboardHookDelegate;
     kbHookHandle   = GlobalHooksHelper.SetWindowsHookEx(WH_KEYBOARD_LL, kbHookDelegate, IntPtr.Zero, 0);
 }