您的位置:首页 > 其它

SetWindowsHookEx设置全局钩子

2017-05-02 19:43 381 查看

用途

该函数可以在R3下钩子,可监控键盘、鼠标、窗口等各种消息。监控到后调用指定的回调函数。

函数原型

HHOOK WINAPI SetWindowsHookEx(
__in int idHook, \\钩子类型
__in HOOKPROC lpfn, \\回调函数地址
__in HINSTANCE hMod, \\包含函数的实例句柄,GetModuleHandleW(0)即可。
__in DWORD dwThreadId); \\线程ID,如果为0,则监控所有线程的全局钩子


钩子类型

WH_KEYBOARD_LL:低级键盘钩子

WH_MOUSE_LL:低级鼠标钩子

规范

下钩子后会在钩子链表的前段插入新下的钩子,即先执行最新的钩子。处理完消息后要使用CallNextHookEx继续传递消息,或者返回TRUE丢弃该消息来阻止传递。

BOOL UnhookWindowsHookEx( HHOOK hhk)函数可用来卸载钩子,参数为该函数返回的句柄。

LRESULT WINAPI MyHookProc(int nCode,WPARAM wParam,LPARAM lParam) 为回掉函数原型。

参数wParam和 lParam包含所钩消息的信息,比如鼠标位置、状态,键盘按键值等。(lParam->vkCode存放键盘按键信息,wParam存放鼠标按键信息)

参数nCode包含有关消息本身的信息,比如是否从消息队列中移出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: