The MessageProc hook procedure is an application-defined callback function the system calls after an input event occurs in a dialog box, message box, menu, or scroll bar, but before the message generated by the input event is processed. The hook procedure can monitor messages for a dialog box, message box, menu, or scroll bar created by a particular application or all applications.
LRESULT CALLBACK MessageProc(
int code, | // hook code |
WPARAM wParam, | // undefined |
LPARAM lParam | // address of structure with message data |
); |
Parameters
code
Specifies the type of input event that generated the message. This parameter can be one of the following values:
Value | Meaning |
MSGF_DDEMGR | The input event occurred while the Dynamic Data Exchange Management Library (DDEML) was waiting for a synchronous transaction to finish. For more information about DDEML, see Dynamic Data Exchange Management Library. |
MSGF_DIALOGBOX | The input event occurred in a message box or dialog box. |
MSGF_MENU | The input event occurred in a menu. |
MSGF_NEXTWINDOW | The input event occurred as a result of the user's pressing the ALT+TAB key combination to activate a different window. |
MSGF_SCROLLBAR | The input event occurred in a scroll bar. |
If code is less than zero, the hook procedure must pass the message to the CallNextHookEx function without further processing and return the value returned by CallNextHookEx.
wParam
Specifies a NULL value.
lParam
Points to an MSG structure.
Return Values
If the hook procedure processes the message, the return value must be a nonzero value. Otherwise, it must be zero.
Remarks
An application installs the hook procedure by specifying the WH_MSGFILTER hook type and the address of the hook procedure in a call to the SetWindowsHookEx function.
If an application that uses the DDEML and performs synchronous transactions must process messages before they are dispatched, it must use the WH_MSGFILTER hook.
MessageProc is a placeholder for the application-defined function name.
See Also