DebugProc 函数
与 SetWindowsHookExA SetWindowsHookExW函数一起使用的应用程序定义或库定义的回调函数。/ 在调用与任何类型的挂钩关联的挂钩过程之前,系统将调用此函数。 系统将有关要调用的挂钩的信息传递给 DebugProc 挂钩过程,该过程检查信息并确定是否允许调用挂钩。
HOOKPROC 类型定义指向此回调函数的指针。 DebugProc 是应用程序定义或库定义的函数名称的占位符。
语法
LRESULT CALLBACK DebugProc(
_In_ int nCode,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);
参数
nCode [in]
类型: int指定挂钩过程是否必须处理消息。 如果 nCode HC_ACTION,则挂钩过程必须处理消息。 如果 nCode 小于零,则挂钩过程必须将消息传递给 CallNextHookEx 函数,而无需进一步处理,并且应返回 CallNextHookEx 返回的值。
wParam [in]
类型:WPARAM即将调用的挂钩类型。 此参数的取值可为下列值之一:
值 含义 WH_CALLWNDPROC 4 安装用于监视发送到窗口过程的消息的挂钩过程。 有关详细信息,请参阅 [*CallWndProc*] (callwndproc.md) 挂钩过程的说明。
WH_CALLWNDPROCRET 12 安装一个挂钩过程,用于监视刚刚由窗口过程处理的消息。 有关详细信息,请参阅 CallWndRetProc 挂钩过程的说明。
WH_CBT 5 安装用于接收对 CBT 应用程序有用的通知的挂钩过程。 有关详细信息,请参阅 [**CBTProc**] (cbtproc.md) 挂钩过程的说明。
WH_DEBUG 9 安装可用于调试其他挂钩过程的挂钩过程。 有关详细信息,请参阅 DebugProc 挂钩过程的说明。
WH_GETMESSAGE 3 安装用于监视发布到消息队列的消息的挂钩过程。 有关详细信息,请参阅GetMsgProc 挂钩过程的说明。
WH_JOURNALPLAYBACK 1 安装一个挂钩过程,该过程发布以前由 WH_JOURNALRECORD 挂钩过程记录的消息。 有关详细信息,请参阅 JournalPlaybackProc 挂钩过程的说明。
WH_JOURNALRECORD 0 安装一个挂钩过程,用于记录发布到系统消息队列的输入消息。 此挂钩可用于记录宏。 有关详细信息,请参阅 JournalRecordProc 挂钩过程的说明。
WH_KEYBOARD 2 安装用于监视击键消息的挂钩过程。 有关详细信息,请参阅 KeyboardProc 挂钩过程的说明。
WH_MOUSE 7 安装监视鼠标消息的挂钩过程。 有关详细信息,请参阅 [*MouseProc*] (mouseproc.md) 挂钩过程的说明。
WH_MSGFILTER -1 安装挂钩过程,用于监视由于对话框、消息框、菜单或滚动条中的输入事件而生成的消息。 挂钩过程仅监视安装了挂钩过程的应用程序的这些消息。 有关详细信息,请参阅 [*MessageProc*] (messageproc.md) 挂钩过程。
WH_SHELL 10 安装用于接收对 Shell 应用程序有用的通知的挂钩过程。 有关详细信息,请参阅 [*ShellProc*] (shellproc.md) 挂钩过程的说明和 WH_SHELL 挂钩部分。
WH_SYSMSGFILTER 6 安装挂钩过程,用于监视由于对话框、消息框、菜单或滚动条中的输入事件而生成的消息。 挂钩过程监视系统中所有应用程序的这些消息。 有关详细信息,请参阅 [*SysMsgProc*] (sysmsgproc.md) 挂钩过程的说明。
lParam [in]
类型:LPARAM指向 DEBUGHOOKINFO 结构的指针,该结构包含要传递给目标挂钩过程的参数。
返回值
类型:****
类型:LRESULT
若要防止系统调用挂钩,挂钩过程必须返回非零值。 否则,挂钩过程必须调用 CallNextHookEx。
注解
应用程序通过在调用 SetWindowsHookExA/ SetWindowsHookExW 函数中指定WH_DEBUG挂钩类型和指向挂钩过程的指针来安装此挂钩过程。
要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Winuser.h(包括 Windows.h) 另请参阅