MouseProc 函数

说明

SetWindowsHookEx 函数一起使用的应用程序定义或库定义的回调函数。 每当应用程序调用 GetMessagePeekMessage 函数并处理鼠标消息时,系统都会调用此函数。

HOOKPROC 类型定义指向此回调函数的指针。 MouseProc 是应用程序定义或库定义的函数名称的占位符。

LRESULT CALLBACK MouseProc(
  _In_ int    nCode,
  _In_ WPARAM wParam,
  _In_ LPARAM lParam
);

参数

nCode [in]

类型: int

挂钩过程用于确定如何处理消息的代码。 如果 nCode 小于零,则挂钩过程必须将消息传递给 CallNextHookEx 函数,而无需进一步处理,并且应返回 CallNextHookEx 返回的值。 此参数的取值可为下列值之一:

含义
HC_ACTION 0 wParamlParam 参数包含有关鼠标消息的信息。
HC_NOREMOVE 3 wParamlParam 参数包含有关鼠标消息的信息,并且尚未从消息队列中删除鼠标消息。 (名为 PeekMessage 函数的应用程序,指定 PM_NOREMOVE flag.)

wParam [in]

类型: WPARAM

鼠标消息的标识符。

lParam [in]

类型: LPARAM

指向 MOUSEHOOKSTRUCT 结构的指针。

返回

类型: LRESULT

如果 nCode 小于零,则挂钩过程必须返回 CallNextHookEx 返回的值。

如果 nCode 大于或等于零,并且挂钩过程未处理消息,则强烈建议调用 CallNextHookEx 并返回返回的值;否则,安装 WH_MOUSE 挂钩的其他应用程序不会收到挂钩通知,因此行为不正确。 如果挂钩过程处理了消息,它可能会返回非零值,以防止系统将消息传递到目标窗口过程。

注解

应用程序通过在调用 SetWindowsHookEx 函数时指定WH_MOUSE挂钩类型和指向挂钩过程的指针来安装挂钩过程。

挂钩过程不得安装 WH_JOURNALPLAYBACK 回调函数。

可以在安装它的线程的上下文中调用此挂钩。 调用是通过向安装了挂钩的线程发送消息进行的。 因此,安装挂钩的线程必须具有消息循环。

请参阅

CallNextHookEx

GetMessage

MOUSEHOOKSTRUCT

PeekMessage

SetWindowsHookEx

挂钩

关于挂钩