注1:未作特殊标注请不要修改方法名称,引入的方法为系统定义
注2:代码按步骤直接复制就可用
使用windows全局钩子需要用到的3个主要外部函数
SetWindowsHookEx()
CallNextHookEx()
UnWindowsHookEx()
通过[DllImport()]导入
导入动态链接库并定义函数
using System.Runtime.InteropServices;//DllImport方法
//定义SetWindowsHookEx
[DllImport("user32")]
//参数列表:idHook-钩子类型,lpfn-钩子函数委托,hmod-窗口句柄,dwThreadId-监控的线程数
public static extern int SetWindowsHookEx(int idHook, HOOKPROC lpfn, IntPtr hmod, int dwThreadId);
//定义CallNextHookEx
[DllImport("user32")]
//参数列表:hhk-WindowsHookEx的返回值,nCode-
public static extern int CallNextHookEx(int hhk, int nCode, int wParam, IntPtr lParam);
//定义UnhookWindowsHookEx
[DllImport("user32")]
//参数列表:hhk-WindowsHookEx的返回值
public static extern