SysMsgProc 函数
与 SetWindowsHookExA SetWindowsHookExW函数一起使用的应用程序定义的或库定义的回调函数。/ 在对话框、消息框、菜单或滚动条中发生输入事件之后,但在处理输入事件生成的消息之前,系统会调用此函数。 函数可以监视系统中任何对话框、消息框、菜单或滚动条的消息。
HOOKPROC 类型定义指向此回调函数的指针。 SysMsgProc 是应用程序定义的或库定义的函数名称的占位符。
LRESULT CALLBACK SysMsgProc(
_In_ int nCode,
WPARAM wParam,
_In_ LPARAM lParam
);
类型: int
生成消息的输入事件的类型。
如果 nCode 小于零,则挂钩过程必须将消息传递到 CallNextHookEx 函数,而无需进一步处理,并且应返回 CallNextHookEx 返回的值。
此参数的取值可为下列值之一:
值 | 含义 |
---|---|
MSGF_DIALOGBOX 0 | 输入事件发生在消息框或对话框中。 |
MSGF_MENU 2 | 输入事件发生在菜单中。 |
MSGF_SCROLLBAR 5 | 输入事件发生在滚动条中。 |
类型:WPARAM
未使用此参数。
类型:LPARAM
指向 MSG 消息结构的指针。
类型: LRESULT
如果 nCode 小于零,则挂钩过程必须返回 CallNextHookEx 返回的值。
如果 nCode 大于或等于零,并且挂钩过程未处理消息,强烈建议调用 CallNextHookEx 并返回它返回的值;否则,已安装 WH_SYSMSGFILTER 挂钩的其他应用程序将不会收到挂钩通知,并可能因此行为不正确。
如果挂钩过程处理了消息,它可能会返回非零值,以防止系统将消息传递到目标窗口过程。
应用程序通过在对 SetWindowsHookExA/ SetWindowsHookExW 函数的调用中指定WH_SYSMSGFILTER挂钩类型和指向挂钩过程的指针来安装挂钩过程。