Función MouseProc
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 cada vez que una aplicación llama a la función GetMessage o PeekMessageA/PeekMessageW y hay un mensaje del mouse que se va a procesar.
El tipo HOOKPROC define un puntero a esta función de devolución de llamada. MouseProc es un marcador de posición para el nombre de función definido por la aplicación o la biblioteca.
LRESULT CALLBACK MouseProc(
_In_ int nCode,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);
Parámetros
nCode [in]
Tipo: int
Código que usa el procedimiento de enlace para determinar cómo procesar 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 |
---|---|
HC_ACTION 0 | Los parámetros wParam y lParam contienen información sobre un mensaje del mouse. |
HC_NOREMOVE 3 | Los parámetros wParam y lParam contienen información sobre un mensaje del mouse y el mensaje del mouse no se ha quitado de la cola de mensajes. (Una aplicación denominada función PeekMessage , especificando la marca PM_NOREMOVE ). |
wParam [in]
Tipo: WPARAM
Identificador del mensaje del mouse.
lParam [in]
Tipo: LPARAM
Puntero a una estructura MOUSEHOOKSTRUCT .
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_MOUSE 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_MOUSE y un puntero al procedimiento de enlace en una llamada a la función SetWindowsHookExA/SetWindowsHookExW .
El procedimiento de enlace no debe instalar una función de devolución de llamada WH_JOURNALPLAYBACK .
Se puede llamar a este enlace en el contexto del subproceso que lo instaló. La llamada se realiza enviando un mensaje al subproceso que instaló el enlace. Por lo tanto, el subproceso que instaló el enlace debe tener un bucle de mensajes.