Ejemplo n.º 1
0
 public KeyBoardInput()
 {
     keyBoardDelegate    = KeyboardHookDelegate;
     keyBoardHandle      = WindowsHookHelper.SetWindowsHookEx(WH_KEYBOARD_LL, keyBoardDelegate, IntPtr.Zero, 0);
     KeyBoardKeyPressed -= KeyboardInput_KeyBoardKeyPressed;
     KeyBoardKeyPressed += KeyboardInput_KeyBoardKeyPressed;
 }
Ejemplo n.º 2
0
        protected virtual void Dispose(bool disposing)
        {
            if (!disposed)
            {
                if (keyBoardHandle != IntPtr.Zero)
                {
                    WindowsHookHelper.UnhookWindowsHookEx(keyBoardHandle);
                }

                disposed = true;
            }
        }
Ejemplo n.º 3
0
        private IntPtr KeyboardHookDelegate(Int32 Code, IntPtr wParam, IntPtr lParam)
        {
            if (Code < 0)
            {
                return(WindowsHookHelper.CallNextHookEx(keyBoardHandle, Code, wParam, lParam));
            }

            var pressedKey = GetKeyCode(lParam);

            KeyBoardKeyPressed?.Invoke(this, new KeyboardEventArgs(pressedKey));

            return(WindowsHookHelper.CallNextHookEx(keyBoardHandle, Code, wParam, lParam));
        }