Função SendNotifyMessageA (winuser.h)
Envia a mensagem especificada para uma janela ou janelas. 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; ele não aguarda que o procedimento de janela conclua o processamento da mensagem.
Sintaxe
BOOL SendNotifyMessageA(
[in] HWND hWnd,
[in] UINT Msg,
[in] WPARAM wParam,
[in] LPARAM lParam
);
Parâmetros
[in] hWnd
Digite: 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 sem proprietário 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 Mensagens definidas pelo sistema.
[in] wParam
Tipo: WPARAM
Obter informações adicionais específicas de mensagem.
[in] lParam
Tipo: LPARAM
Obter informações adicionais específicas de mensagem.
Valor retornado
Tipo: BOOL
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
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 faz marshaling apenas para mensagens do sistema (aquelas no intervalo de 0 a (WM_USER-1)). Para enviar outras mensagens (essas >= WM_USER) para outro processo, você deve fazer marshaling personalizado.
Observação
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 de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |
Conjunto de APIs | ext-ms-win-ntuser-message-l1-1-3 (introduzido no Windows 10, versão 10.0.14393) |
Confira também
Conceitual
Mensagens e filas de mensagens
Referência