Función SysMsgProc
Descripción
Función de devolución de llamada definida por la aplicación o definida por la biblioteca que se usa con la función SetWindowsHookExA/SetWindowsHookExW . El sistema llama a esta función después de que se produzca un evento de entrada en un cuadro de diálogo, cuadro de mensaje, menú o barra de desplazamiento, pero antes de que se procese el mensaje generado por el evento de entrada. La función puede supervisar los mensajes de cualquier cuadro de diálogo, cuadro de mensaje, menú o barra de desplazamiento en el sistema.
El tipo HOOKPROC define un puntero a esta función de devolución de llamada. SysMsgProc es un marcador de posición para el nombre de función definido por la aplicación o definido por la biblioteca.
LRESULT CALLBACK SysMsgProc(
_In_ int nCode,
WPARAM wParam,
_In_ LPARAM lParam
);
Parámetros
nCode [in]
Tipo: int
Tipo de evento de entrada que generó el mensaje.
Si nCode es menor que cero, el procedimiento de enlace debe pasar el mensaje a la función CallNextHookEx sin procesamiento adicional y debe devolver el valor devuelto por CallNextHookEx.
Este parámetro puede ser uno de los valores siguientes.
Valor | Significado |
---|---|
MSGF_DIALOGBOX 0 | El evento de entrada se produjo en un cuadro de mensaje o en un cuadro de diálogo. |
MSGF_MENU 2 | El evento de entrada se produjo en un menú. |
MSGF_SCROLLBAR 5 | El evento de entrada se produjo en una barra de desplazamiento. |
wParam
Tipo: WPARAM
Este parámetro no se utiliza.
lParam [in]
Tipo: LPARAM
Puntero a una estructura de mensajes MSG .
Devoluciones
Tipo: LRESULT
Si nCode es menor que cero, el procedimiento de enlace debe devolver el valor devuelto por CallNextHookEx.
Si nCode es mayor o igual que cero y el procedimiento de enlace no procesó el mensaje, se recomienda encarecidamente llamar a CallNextHookEx y devolver el valor que devuelve; de lo contrario, otras aplicaciones que han instalado WH_SYSMSGFILTER enlaces no recibirán notificaciones de enlace y pueden comportarse incorrectamente como resultado.
Si el procedimiento de enlace procesó el mensaje, puede devolver un valor distinto de cero para evitar que el sistema pase el mensaje al procedimiento de ventana de destino.
Comentarios
Una aplicación instala el procedimiento de enlace especificando el tipo de enlace WH_SYSMSGFILTER y un puntero al procedimiento de enlace en una llamada a la función SetWindowsHookExA/SetWindowsHookExW .