Share via


Función SendNotifyMessageA (winuser.h)

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.

Sintaxis

BOOL SendNotifyMessageA(
  [in] HWND   hWnd,
  [in] UINT   Msg,
  [in] WPARAM wParam,
  [in] LPARAM lParam
);

Parámetros

[in] hWnd

Tipo: HWND

Identificador de la ventana cuyo procedimiento de ventana recibirá el mensaje. Si este parámetro es HWND_BROADCAST ((HWND)0xffff), el mensaje se envía a todas las ventanas de nivel superior del sistema, incluidas las ventanas deshabilitadas o invisibles, las ventanas superpuestas y las ventanas emergentes; pero el mensaje no se envía a las ventanas secundarias.

[in] Msg

Tipo: UINT

El mensaje que se debe enviar.

Para obtener listas de los mensajes proporcionados por el sistema, vea Mensajes definidos por el sistema.

[in] wParam

Tipo: WPARAM

Información adicional específica del mensaje.

[in] lParam

Tipo: LPARAM

Información adicional específica del mensaje.

Valor devuelto

Tipo: BOOL

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Si envía un mensaje en el intervalo siguiente WM_USER a las funciones de mensaje asincrónicas (PostMessage, SendNotifyMessage y SendMessageCallback), sus parámetros de mensaje no pueden incluir punteros. De lo contrario, la operación presentará un error. Las funciones devolverán antes de que el subproceso receptor haya tenido la oportunidad de procesar el mensaje y el remitente liberará la memoria antes de que se use.

Las aplicaciones que necesitan comunicarse mediante HWND_BROADCAST deben usar la función RegisterWindowMessage para obtener un mensaje único para la comunicación entre aplicaciones.

El sistema solo realiza la serialización de los mensajes del sistema (los del intervalo de 0 a (WM_USER-1)). Para enviar otros mensajes (aquellos >= WM_USER) a otro proceso, debe realizar la serialización personalizada.

Nota

El encabezado winuser.h define SendNotifyMessage como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winuser.h (incluir Windows.h)
Library User32.lib
Archivo DLL User32.dll
Conjunto de API ext-ms-win-ntuser-message-l1-1-3 (introducido en Windows 10, versión 10.0.14393)

Consulte también

Conceptual

Mensajes y colas de mensajes

PostMessage

PostThreadMessage

Referencia

RegisterWindowMessage

SendMessage

SendMessageCallback

SendNotifyMessage