WH_MOUSE_LL钩子函数

LowLevelMouseProc

LowLevelMouseProc钩子过程是应用程序或库定义的回调函数,用于SetWindowsHookEx函数。每次一个新的鼠标输入事件将要被发送到一个线程输入队列中时系统调和这个函数。鼠标输入可能来自本地鼠标驱动也可能来自mouse_event函数。如果输入来自mouse_event,这个输入被称为“注入”。

LRESULT CALLBACK LowLevelMouseProc(

  int nCode,     // hook code

  WPARAM wParam, // message identifier

  LPARAM lParam  // message data

);

LowLevelMouseProc只是一个占位符,开发者可以重命名。

参数:

nCode[in]用户根据这个值决定怎样去处理消息。可以取值为HC_ATITON。如果这个参数小于0,钩子过程必须把消息传给CallNextHookEx函数,不做进一步的处理并且返回CallNextHookEx函数的返回值。

wParam[in]鼠标消息标识符。可以是下列消息:WM_LBUTTONDOWN,WM_LBUTTONUP,

WM_MOUSEMOVE,WM_MOUSEWHEEL,WM_RBUTTONDOWN,WM_RBUTTONUP

lParam[in]一个MSLLHOOKSTRUCT结构指针。

返回值

如果nCode参数小于0,返回CallNextHookEx函数的返回值。

如果nCode大于等于0,钩子过程不处理消息,非常推荐你调用CallNextHookEx函数并返回它的值;否则其它安装了WH_MOUSE_LL钩子的应用将不能收到钩子通知并且会引起不正确的结果。如果钩子过程处理消息,它可返回非0值防止系统把消息传递给其它钩子或目标窗口过程。

备注

这个钩子过程是在安装它的线程上下文中被调用。发送消息到线程时被调用,因此安装线程必须有消息循环。

钩子过程必须在小于LowLevelHooksTimeout指定的时间间隔内处理完成,如果在这个间隔内不能返回,系统将把消息传递给下一个钩子。LowLevelHooksTimeout是注册键HKEY_CURRENT_USER/Control Panel/Desktop下的子键,它的值为毫秒。

调试钩子不能跟踪该类钩子。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值