MessageProc
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