Andwho.Windows.Win32.KeyHook.KeyBoardHookProc C# (CSharp) Method

KeyBoardHookProc() private method

private KeyBoardHookProc ( int nCode, int wParam, IntPtr lParam ) : int
nCode int
wParam int
lParam System.IntPtr
return int
        private int KeyBoardHookProc(int nCode, int wParam, IntPtr lParam)
        {
            if (nCode >= 0)
            {
                KeyBoardHookStruct kbh = (KeyBoardHookStruct)Marshal.PtrToStructure(lParam, typeof(KeyBoardHookStruct));
                Keys key = (Keys)Enum.Parse(typeof(Keys), kbh.vkCode.ToString());
                if (kbh.flags == 0)
                {
                    //这里写按下后做什么
                    KeyEventArgs e = new KeyEventArgs(key);
                    this.OnKeyDownEvent(this, e);
                }
                else if (kbh.flags == 128)
                {
                    //放开后做什么
                    KeyEventArgs e = new KeyEventArgs(key);
                    this.OnKeyUpEvent(this, e);
                }
                return 1;
            }
            return NativeMethods.CallNextHookEx(hHook, nCode, wParam, lParam);
        }