Mensajes y colas de mensajes
En esta sección se describen los mensajes y las colas de mensajes y cómo usarlos en las aplicaciones.
En esta sección
Nombre | Descripción |
---|---|
Acerca de los mensajes y las colas de mensajes | En esta sección se describen los mensajes de Windows y las colas de mensajes. |
Uso de mensajes y colas de mensajes | En los ejemplos de código siguientes se muestra cómo realizar las siguientes tareas asociadas a mensajes de Windows y colas de mensajes. |
Referencia de mensajes | Contiene la referencia de API. |
mensajes de System-Provided
Para obtener listas de los mensajes proporcionados por el sistema, vea Mensajes definidos por el sistema.
Funciones de mensajes
Nombre | Descripción |
---|---|
BroadcastSystemMessage | Envía un mensaje a los destinatarios especificados. Los destinatarios pueden ser aplicaciones, controladores instalables, controladores de red, controladores de dispositivo de nivel de sistema o cualquier combinación de estos componentes del sistema. Para recibir información adicional si se define la solicitud, use la función BroadcastSystemMessageEx . |
BroadcastSystemMessageEx | Envía un mensaje a los destinatarios especificados. Los destinatarios pueden ser aplicaciones, controladores instalables, controladores de red, controladores de dispositivo de nivel de sistema o cualquier combinación de estos componentes del sistema. Esta función es similar a BroadcastSystemMessage , salvo que esta función puede devolver más información de los destinatarios. |
DispatchMessage | Envía un mensaje a un procedimiento de ventana. Normalmente se usa para enviar un mensaje recuperado por la función GetMessage . |
GetInputState | Determina si hay mensajes de botón del mouse o teclado en la cola de mensajes del subproceso que llama. |
GetMessage | Recupera un mensaje de la cola de mensajes del subproceso que llama. La función envía mensajes enviados entrantes hasta que un mensaje publicado está disponible para su recuperación. A diferencia de GetMessage, la función PeekMessage no espera a que se publique un mensaje antes de devolverlo. |
GetMessageExtraInfo | Recupera la información adicional del mensaje para el subproceso actual. La información adicional del mensaje es un valor definido por el controlador o de la aplicación asociado a la cola de mensajes del subproceso actual. |
GetMessagePos | Recupera la posición del cursor del último mensaje recuperado por la función GetMessage . Para determinar la posición actual del cursor, use la función GetCursorPos . |
GetMessageTime | Recupera la hora del mensaje para el último mensaje recuperado por la función GetMessage . El tiempo es un entero largo que especifica el tiempo transcurrido, en milisegundos, desde el momento en que se inició el sistema hasta la hora en que se creó el mensaje (es decir, colocado en la cola de mensajes del subproceso). |
GetQueueStatus | Indica el tipo de mensajes que se encuentran en la cola de mensajes del subproceso que llama. |
InSendMessage | Determina si el procedimiento de ventana actual está procesando un mensaje enviado desde otro subproceso (en el mismo proceso o en otro proceso) mediante una llamada a la función SendMessage . Para obtener información adicional sobre cómo se envió el mensaje, use la función InSendMessageEx . |
InSendMessageEx | Determina si el procedimiento de ventana actual está procesando un mensaje enviado desde otro subproceso (en el mismo proceso o en otro). |
PeekMessage | Envía mensajes enviados entrantes, comprueba la cola de mensajes del subproceso de un mensaje publicado y recupera el mensaje (si existe alguno). |
PostMessage | Publica un mensaje en la cola de mensajes asociada al subproceso que creó la ventana especificada y devuelve sin esperar a que el subproceso procese el mensaje. Para publicar un mensaje en la cola de mensajes asociada a un subproceso, use la función PostThreadMessage . |
PostQuitMessage | Indica al sistema que un subproceso ha realizado una solicitud para finalizar (salir). Normalmente se usa en respuesta a un mensaje de WM_DESTROY . |
PostThreadMessage | Envía un mensaje a la cola de mensajes del subproceso especificado. Devuelve sin esperar a que el subproceso procese el mensaje. |
RegisterWindowMessage | Define un nuevo mensaje de ventana que se garantiza que es único en todo el sistema. El valor del mensaje se puede usar al enviar o publicar mensajes. |
ReplyMessage | Responde a un mensaje enviado a través de la función SendMessage sin devolver el control a la función que llamó a SendMessage. |
SendAsyncProc | Función de devolución de llamada definida por la aplicación que se usa con la función SendMessageCallback . El sistema pasa el mensaje a la función de devolución de llamada después de pasar el mensaje al procedimiento de la ventana de destino. El tipo SENDASYNCPROC define un puntero a esta función de devolución de llamada.
SendAsyncProc es un marcador de posición para el nombre de función definido por la aplicación. |
SendMessage | Envía el mensaje especificado a una ventana o ventanas. La función SendMessage llama al procedimiento de ventana para la ventana especificada y no devuelve hasta que el procedimiento de ventana haya procesado el mensaje. Para enviar un mensaje y devolverlo inmediatamente, use la función SendMessageCallback o SendNotifyMessage . Para publicar un mensaje en la cola de mensajes de un subproceso y devolverlo inmediatamente, use la función PostMessage o PostThreadMessage . |
SendMessageCallback | Envía el mensaje especificado a una ventana o ventanas. Llama al procedimiento de ventana para la ventana especificada y devuelve inmediatamente. Después de que el procedimiento de ventana procese el mensaje, el sistema llama a la función de devolución de llamada especificada, pasando el resultado del procesamiento de mensajes y un valor definido por la aplicación a la función de devolución de llamada. |
SendMessageTimeout | Envía el mensaje especificado a una de las ventanas más. |
SendNotifyMessage | Envía el mensaje especificado a una ventana o ventanas. Si el subproceso de llamada creó la ventana, SendNotifyMessage llama al procedimiento de ventana de la ventana y no vuelve hasta que el procedimiento de ventana haya procesado el mensaje. Si la ventana se creó mediante un subproceso diferente, SendNotifyMessage pasa el mensaje al procedimiento de ventana y devuelve inmediatamente; no espera a que el procedimiento de ventana termine de procesar el mensaje. |
SetMessageExtraInfo | Establece la información adicional del mensaje para el subproceso actual. La información adicional del mensaje es un valor definido por el controlador o de la aplicación asociado a la cola de mensajes del subproceso actual. Una aplicación puede usar la función GetMessageExtraInfo para recuperar la información adicional del mensaje de un subproceso. |
TranslateMessage | Convierte los mensajes de clave virtual en mensajes de caracteres. Los mensajes de caracteres se publican en la cola de mensajes del subproceso que realiza la llamada, que se leerá la próxima vez que el subproceso llame a la función GetMessage o PeekMessage . |
WaitMessage | Devuelve el control a otros subprocesos cuando un subproceso no tiene ningún otro mensaje en su cola de mensajes. La función WaitMessage suspende el subproceso y no vuelve hasta que se coloca un nuevo mensaje en la cola de mensajes del subproceso. |
Constantes de mensaje
Nombre | Descripción |
---|---|
OCM__BASE | Se usa para definir mensajes privados para que los usen las clases de ventana privada. |
WM_APP | Se usa para definir mensajes privados. |
WM_USER | Se usa para definir mensajes privados para que los usen las clases de ventana privada. |
Estructuras de mensajes
Nombre | Descripción |
---|---|
BSMINFO | Contiene información sobre una ventana que denegó una solicitud de BroadcastSystemMessageEx. |
MSG | Contiene información de mensaje de la cola de mensajes de un subproceso. |