MessageProc挂接过程是系统在对话框,消息框,菜单或滚动条中发生输入事件之后但在处理输入事件生成的消息之前调用的应用程序定义的回调函数。挂钩过程可以监视由特定应用程序或所有应用程序创建的对话框,消息框,菜单或滚动条的消息。
LRESULT CALLBACK MessageProc(
INT 【码】, | //钩子代码 |
WPARAM 【wParam中】, | //未定义 |
LPARAM 【lParam的】 | //具有消息数据结构的地址 |
); |
参数
【码】
指定生成消息的输入事件的类型。此参数可以是以下值之一:
值 | 含义 |
MSGF_DDEMGR | 当动态数据交换管理库(DDEML)等待同步事务完成时,输入事件发生。有关DDEML的更多信息,请参阅动态数据交换管理库. |
MSGF_DIALOGBOX | 输入事件发生在消息框或对话框中。 |
MSGF_MENU | 输入事件发生在菜单中。 |
MSGF_NEXTWINDOW | 输入事件是由于用户按ALT + TAB键组合来激活不同的窗口而发生的。 |
MSGF_SCROLLBAR | 输入事件发生在滚动条中。 |
如果【码】小于零,挂钩过程必须将消息传递给CallNextHookEx函数,无需进一步处理,并返回CallNextHookEx返回的值。
【wParam中】
指定一个NULL值。
【lParam的】
指向MSG结构。
返回值
如果挂接过程处理消息,则返回值必须为非零值。否则,它必须为零。
备注
应用程序通过在SetWindowsHookEx函数的调用中指定WH_MSGFILTER钩类型和挂接过程的地址来安装挂接过程。
如果使用DDEML并执行同步事务的应用程序必须在发送消息之前处理消息,则必须使用WH_MSGFILTER钩子。
MessageProc是应用程序定义的函数名称的占位符。
也可以看看