public int HookProc(int code, int wParam, ref RIQBoardHookStruct lParam) { if (code >= 0) { Keys key = (Keys)lParam.vkCode; KeyEventArgs push = new KeyEventArgs(key); if ((wParam == WM_KEYDOWN || wParam == WM_SYSKEYDOWN) && Down != null) { Down(this, push); } else if ((wParam == WM_KEYUP || wParam == WM_SYSKEYUP) && Up != null) { Up(this, push); } if (push.Handled) { return(1); } } return(CallNextHookEx(exHook, code, wParam, ref lParam)); }
static extern int CallNextHookEx( IntPtr idHook, int nCode, int wParam, ref RIQBoardHookStruct lParam);