[DllImport("user32.dll")] static extern IntPtr SetWindowsHookEx(int idHook, keyboardHookProc callback, IntPtr hInstance, uint threadId); /// <summary> /// 安裝鈎子 /// </summary> /// <param name="idHook">鈎子類型 13鍵盤和14鼠標,用來對底層輸入事件監視</param> /// <param name="callback">函數指針</param> /// <param name="hInstance">包含SetWindowsHookEx函數的模塊地址,user32.dll入口</param> /// <param name="threadId">0表示系統鈎子,</param> /// <param name="str"></param> /// <returns></returns> public IntPtr SetWindowsHookEx(int idHook, keyboardHookProc callback, IntPtr hInstance, uint threadId, string str = "占位符") { return SetWindowsHookEx(idHook, callback, hInstance, threadId); }
public event KeyEventHandler KeyDown; private void button7_Click(object sender, EventArgs e) { this.KeyDown += new KeyEventHandler(gkh_KeyDown); //綁定事件 Keys key = (Keys)1; KeyEventArgs kea = new KeyEventArgs(key); KeyDown(this, kea); } private void gkh_KeyDown(object sender, KeyEventArgs e) { MessageBox.Show("000111"); }