Example #1
0
    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));
        }
    }
Example #2
0
        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));
        }
Example #3
0
 internal KeyboardHookEventArgs(IntPtr wParam, IntPtr lParam)
 {
     Win32.KBDLLHOOKSTRUCT kbHook = (Win32.KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(Win32.KBDLLHOOKSTRUCT));
     Message = (Messages)wParam;
     Data    = kbHook;
 }