public int HookProc(int Code, int wParam, ref keyBoardHookStruct lParam) { if (Code >= 0) { // Debug.WriteLine(lParam.vkCode); if (!block && (lParam.vkCode >= 65 && lParam.vkCode <= 90) || lParam.vkCode == 160 || (lParam.vkCode >= 96 && lParam.vkCode <= 105) || (lParam.vkCode >= 48 && lParam.vkCode <= 57)) { refine.converter(lParam.vkCode); return(1); } else { Debug.WriteLine("This key is not processed yet."); } if (!block && lParam.vkCode == 32) { refine.press_space(BNRefine.output); } else if (!block && lParam.vkCode == 8) { if (!refine.press_backspace()) { return(1); } } } return(CallNextHookEx(Hook, Code, wParam, ref lParam)); }
/// <summary> /// Pass key into event /// </summary> /// <param name="Code">Key code</param> /// <param name="wParam">int event type (keydown/keyup)</param> /// <param name="lParam">keyBoardHookStruct enum for detecting key</param> /// <returns>next hook call</returns> public int HookProc(int Code, int wParam, ref keyBoardHookStruct lParam) { if (Code >= 0) { Keys key = (Keys)lParam.vkCode; if (HookedKeys.Contains(key)) { //Get modifiers key = AddModifiers(key); KeyEventArgs kArg = new KeyEventArgs(key); if ((wParam == WM_KEYDOWN || wParam == WM_SYSKEYDOWN) && (KeyDown != null)) { KeyDown(this, kArg); } else if ((wParam == WM_KEYUP || wParam == WM_SYSKEYUP) && (KeyUp != null)) { KeyUp(this, kArg); } if (kArg.Handled) { return(1); } } } return(CallNextHookEx(Hook, Code, wParam, ref lParam)); }
public int HookProc(int Code, int wParam, ref keyBoardHookStruct lParam) { if (Code >= 0) { Keys key = (Keys)lParam.vkCode; if (HookedKeys.Contains(key)) { KeyEventArgs kArg = new KeyEventArgs(key); if ((wParam == WM_KEYDOWN || wParam == WM_SYSKEYDOWN) && (KeyDown != null)) KeyDown(this, kArg); else if ((wParam == WM_KEYUP || wParam == WM_SYSKEYUP) && (KeyUp != null)) KeyUp(this, kArg); if (kArg.Handled) return 1; } } return CallNextHookEx(Hook, Code, wParam, ref lParam); }
private int HookProc(int Code, int wParam, ref keyBoardHookStruct lParam) { if (Code >= 0) { Keys key = (Keys)lParam.vkCode; KeyEventArgs kArg = new KeyEventArgs(key); if ((wParam == WM_KEYDOWN || wParam == WM_SYSKEYDOWN) && (KeyDown != null)) { KeyDown(this, kArg); } else if ((wParam == WM_KEYUP || wParam == WM_SYSKEYUP) && (KeyUp != null)) { KeyUp(this, kArg); } if (kArg.Handled) { return(1); } } return(CallNextHookEx(hook, Code, wParam, ref lParam)); }
static extern int CallNextHookEx(IntPtr hhk, int code, int wParam, ref keyBoardHookStruct lParam);
private static extern int CallNextHookEx(IntPtr hhk, int code, int wParam, ref keyBoardHookStruct lParam);
private void HookProc(int Code, int wParam, ref keyBoardHookStruct lParam) { #region Coordinate Marking sum++; Keys key = (Keys)lParam.vkCode; var cursor = new Point(); GetCursorPos(ref cursor); if ((key == Keys.Add || key == Keys.Oemplus) && sum % 2 != 0 && label2.Text != "ON") { listBoxY.Items.Add("X" + cursor.X.ToString()); listBoxX.Items.Add("Y" + cursor.Y.ToString()); lsX.Add(Convert.ToInt32(cursor.X.ToString())); lsY.Add(Convert.ToInt32(cursor.Y.ToString())); label2.Text = "OFF"; panel1.BackColor = Color.Orange; } else if (key == Keys.End && listBoxX.Items.Count != 0 && label2.Text != "Finish" && label2.Text != "OFF") { timer2.Stop(); timer1.Start(); label2.Text = "OFF"; panel1.BackColor = Color.Orange; } else if (key == Keys.Multiply && label2.Text != "ON") { if (listBoxX.Items.Count != 0) { Reset(); } } else if ((key == Keys.OemMinus || key == Keys.Subtract) && sum % 2 != 0 && listBoxY.Items.Count != 0 && label2.Text != "ON") { listBoxY.Items.RemoveAt(lsX.ToArray().Length - 1); listBoxX.Items.RemoveAt(lsY.ToArray().Length - 1); lsX.RemoveAt(lsX.ToArray().Length - 1); lsY.RemoveAt(lsY.ToArray().Length - 1); label1.Text = "0"; mousesteps = 0; mousestepscount = 0; label2.Text = "OFF"; panel1.BackColor = Color.Orange; } else if (key == Keys.Home && listBoxX.Items.Count != 0 && label2.Text != "ON") { if (textBox1.Text != "" || cycle != 0) { label1.Text = "0"; mousesteps = 0; mousestepscount = 0; timer2.Start(); timer1.Stop(); sum = 0; label2.Text = "ON"; panel1.BackColor = Color.Green; } else { MessageBox.Show("Please Enter Count Cycle"); } } #endregion }
public static extern int CallNextHookEx(IntPtr hhk, int nCode, int wParam, ref keyBoardHookStruct lParam);