Colección de citas famosas - Slogan de motivación - El uso de postmessage y sendmessage en Delphi

El uso de postmessage y sendmessage en Delphi

PostMessage regresa inmediatamente después de enviar el mensaje para continuar con la ejecución del programa.

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

.