Compartilhar via


Função SendNotifyMessageA (winuser.h)

Envia a mensagem especificada para uma janela ou janela. Se a janela tiver sido criada pelo thread de chamada, SendNotifyMessage chamará o procedimento de janela para a janela e não retornará até que o procedimento da janela tenha processado a mensagem. Se a janela foi criada por um thread diferente, SendNotifyMessage passa a mensagem para o procedimento de janela e retorna imediatamente; não aguarda o procedimento de janela concluir o processamento da mensagem.

Sintaxe

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

Parâmetros

[in] hWnd

Tipo: HWND

Um identificador para a janela cujo procedimento de janela receberá a mensagem. Se esse parâmetro for HWND_BROADCAST ((HWND)0xffff), a mensagem será enviada para todas as janelas de nível superior do sistema, incluindo janelas não semeadas desabilitadas ou invisíveis, janelas sobrepostas e janelas pop-up; mas a mensagem não é enviada para janelas filho.

[in] Msg

Tipo: UINT

A mensagem a ser enviada.

Para obter listas das mensagens fornecidas pelo sistema, consulte System-Defined Mensagens.

[in] wParam

Tipo: WPARAM

Informações adicionais específicas da mensagem.

[in] lParam

Tipo: LPARAM

Informações adicionais específicas da mensagem.

Valor de retorno

Tipo: BOOL

Se a função for bem-sucedida, o valor retornado não será zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Observações

Se você enviar uma mensagem no intervalo abaixo WM_USER para as funções de mensagem assíncronas (PostMessage, SendNotifyMessage e SendMessageCallback), seus parâmetros de mensagem não poderão incluir ponteiros. Caso contrário, a operação falhará. As funções retornarão antes que o thread de recebimento tenha tido a chance de processar a mensagem e o remetente liberará a memória antes de ser usada.

Os aplicativos que precisam se comunicar usando HWND_BROADCAST devem usar a função RegisterWindowMessage para obter uma mensagem exclusiva para comunicação entre aplicativos.

O sistema só faz marshalling para mensagens do sistema (aquelas no intervalo de 0 a (WM_USER-1)). Para enviar outras mensagens (aquelas >= WM_USER) para outro processo, você deve fazer o marshalling personalizado.

Nota

O cabeçalho winuser.h define SendNotifyMessage como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winuser.h (inclua Windows.h)
biblioteca User32.lib
de DLL User32.dll
conjunto de API ext-ms-win-ntuser-message-l1-1-3 (introduzido no Windows 10, versão 10.0.14393)

Consulte também

Conceitual

mensagens e filas de mensagens

PostMessage

PostThreadMessage

de referência de

RegisterWindowMessage

SendMessage

SendMessageCallback

SendNotifyMessage