public static void OnHookEvent(HookEventArgs hookArgs, KeyBoardInfo keyBoardInfo) { if (HookEvent != null) { HookEvent(hookArgs, keyBoardInfo); } }
private static int HookProcedure(int code, IntPtr wParam, IntPtr lParam) { KBDLLHOOKSTRUCT hookStruct = (KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(KBDLLHOOKSTRUCT)); if (code < 0) { return(1); //CallNextHookEx(hookDeleg, code, wParam, lParam); } if (code >= 0 && wParam == (IntPtr)WM_KEYDOWN) { // Let clients determine what to do HookEventArgs e = new HookEventArgs(); e.Code = code; e.wParam = wParam; e.lParam = lParam; KeyBoardInfo keyInfo = new KeyBoardInfo(0); keyInfo.vkCode = hookStruct.vkCode; keyInfo.scanCode = hookStruct.scanCode; //MessageBox.Show(""); OnHookEvent(e, keyInfo); } // Yield to the next hook in the chain return(1);//CallNextHookEx(hookDeleg, code, wParam, lParam); }
private void HookEvent(HookEventArgs e, KeyBoardInfo keyBoardInfo) { textBox1.Text = "vkCode = " + keyBoardInfo.vkCode + Environment.NewLine + textBox1.Text; }