Função BroadcastSystemMessage (winuser.h)
Envia uma mensagem aos destinatários especificados. Os destinatários podem ser aplicativos, drivers instaláveis, drivers de rede, drivers de dispositivo no nível do sistema ou qualquer combinação desses componentes do sistema.
Para receber informações adicionais se a solicitação for definida, use a função BroadcastSystemMessageEx .
Sintaxe
long BroadcastSystemMessage(
[in] DWORD flags,
[in, out, optional] LPDWORD lpInfo,
[in] UINT Msg,
[in] WPARAM wParam,
[in] LPARAM lParam
);
Parâmetros
[in] flags
Tipo: DWORD
A opção de difusão. Esse parâmetro pode usar um dos valores a seguir.
Valor | Significado |
---|---|
|
Permite que o destinatário defina a janela em primeiro plano durante o processamento da mensagem. |
|
Libera o disco depois que cada destinatário processa a mensagem. |
|
Continua transmitindo a mensagem, mesmo que o período de tempo limite desabilitar ou um dos destinatários não esteja respondendo. |
|
Não envia a mensagem para janelas que pertencem à tarefa atual. Isso impede que um aplicativo receba sua própria mensagem. |
|
Força um aplicativo não responsivo a se esgotar. Se um dos destinatários atingir o tempo limite, não continue transmitindo a mensagem. |
|
Aguarda uma resposta à mensagem, desde que o destinatário não esteja respondendo. Não atingiu o tempo limite. |
|
Posta a mensagem. Não use em combinação com BSF_QUERY. |
|
Envia a mensagem para um destinatário de cada vez, enviando para um destinatário subsequente somente se o destinatário atual retornar TRUE. |
|
Envia a mensagem usando a função SendNotifyMessage . Não use em combinação com BSF_QUERY. |
[in, out, optional] lpInfo
Tipo: LPDWORD
Um ponteiro para uma variável que contém e recebe informações sobre os destinatários da mensagem.
Quando a função retorna, essa variável recebe uma combinação desses valores identificando quais destinatários realmente receberam a mensagem.
Se esse parâmetro for NULL, a função transmitirá para todos os componentes.
Esse parâmetro pode usar um dos valores a seguir.
Valor | Significado |
---|---|
|
Difundir para todos os componentes do sistema. |
|
Difundir para todas as áreas de trabalho. Requer o privilégio SE_TCB_NAME . |
|
Difundir para aplicativos. |
[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: long
Se a função for bem-sucedida, o valor retornado será um valor positivo.
Se a função não puder transmitir a mensagem, o valor retornado será –1.
Se o parâmetro dwFlags for BSF_QUERY e pelo menos um destinatário retornar BROADCAST_QUERY_DENY para a mensagem correspondente, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Se BSF_QUERY não for especificado, a função enviará a mensagem especificada a todos os destinatários solicitados, ignorando os valores retornados por esses destinatários.
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.
Exemplos
Para obter um exemplo, consulte Encerrando um processo.
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 |
Confira também
Conceitual
Mensagens e filas de mensagens
Referência