El uso de postmessage y sendmessage en Delphi
SendMessage envía un mensaje y espera a que se procese el mensaje, luego regresa para continuar ejecutando el programa.
Tabla 1. Handle es el identificador de la ventana form1.
VN_KEYDOWN es el tipo de mensaje de la clave.
Etiqueta de valor clave VK_TAB
Función de mensaje de la API de Win32: PostMessage
Función: esta función coloca (envía) el mensaje asociado con el hilo creado por la ventana especificada cola de mensajes y regresa sin esperar a que el hilo procese el mensaje. Los mensajes en la cola de mensajes se obtienen llamando a GetMessage y PeekMessage.
Prototipo de función: B00L PostMessage (HWND HWND, UINT Msg, WPARAM wParam, lparam lparam);
Parámetros
El identificador de ventana del programa de ventana a recibir; el mensaje. Se pueden tomar dos valores con significados específicos:
HWND. TRANSMISIÓN: El mensaje se envía a todas las ventanas de nivel superior del sistema, incluidas las ventanas no propias no válidas o invisibles, las ventanas superpuestas y las ventanas emergentes. Los mensajes no se envían a ventanas secundarias.
NULL: El funcionamiento de esta función es el mismo que llamar a la función PostThreadMessage con el parámetro dwThread establecido en el identificador del hilo actual.
Mensaje: Especifica el mensaje a enviar.
WParam: Especifica información adicional específica del mensaje.
IParam: Especifica información adicional específica del mensaje.
Valor de retorno: si la llamada a la función es exitosa, se devuelve un valor distinto de cero; si la llamada a la función falla, el valor de retorno es cero. Para obtener más información sobre el error, llame a la función GetLastError.
Nota: Las aplicaciones que necesitan comunicarse a través de HWND_BROADCAST deben usar la función RegisterwindwosMessage para obtener los únicos mensajes comunicados entre aplicaciones.
Si envía un mensaje a la función de mensaje asincrónico (PostMessage) en WM_USER. SendNotifyMessage, SendMesssgeCallback), los parámetros del mensaje no pueden contener punteros. De lo contrario, la operación fracasará. La función regresará antes de que el hilo receptor procese el mensaje y el remitente liberará la memoria antes de usarla.
Comprobación rápida: Windows NT: 3.1 y superior; Windows: 95 y superior; Windows CE: 1.0 y superior; archivo de encabezado: winuser.h; usuario 32. lib;; Implementado usando Unicode y ANSI bajo ambiente NT.
Este artículo proviene del blog de CSDN, indique la fuente:/Eddie Liugd/Archive/2004/12/07/207856
.