protected virtual int CallBack(int nCode, IntPtr wParam, Win32.KBDLLHOOKSTRUCT lParam) { var blnEat = false; switch ((int)wParam) { case 256: // WM_KEYDOWN case 257: // WM_KEYUP case 260: // WM_SYSKEYDOWN case 261: // WM_SYSKEYUP if (!isAll) { blnEat = ((lParam.vkCode == 0x09) && (lParam.flags == 0x20)) || // Alt+Tab ((lParam.vkCode == 0x1B) && (lParam.flags == 0x20)) || // Alt+Esc ((lParam.vkCode == 0x1B) && (lParam.flags == 0x00)) || // Ctrl+Esc ((lParam.vkCode == 0x5B) && (lParam.flags == 0x01)) || // Left Windows Key ((lParam.vkCode == 0x5C) && (lParam.flags == 0x01)) || // Right Windows Key ((lParam.vkCode == 0x73) && (lParam.flags == 0x20)); // Alt+F4 } else { blnEat = true; } break; } if (blnEat) { return(1); } else { return(Win32.CallNextHookEx(hookHandle, nCode, wParam, lParam)); } }
private IntPtr KeyboardHookHandler(int nCode, IntPtr wParam, ref Win32.KBDLLHOOKSTRUCT lParam) { var key = KeyInterop.KeyFromVirtualKey(lParam.vkCode); if (OnKeyPressed((GameKey)key)) { return(new IntPtr(1)); } return(Win32.CallNextHookEx(_hookPtr, nCode, wParam, ref lParam)); }
internal KeyboardHookEventArgs(IntPtr wParam, IntPtr lParam) { Win32.KBDLLHOOKSTRUCT kbHook = (Win32.KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(Win32.KBDLLHOOKSTRUCT)); Message = (Messages)wParam; Data = kbHook; }