Compartilhar via


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
BSF_ALLOWSFW
0x00000080
Permite que o destinatário defina a janela em primeiro plano durante o processamento da mensagem.
BSF_FLUSHDISK
0x00000004
Libera o disco depois que cada destinatário processa a mensagem.
BSF_FORCEIFHUNG
0x00000020
Continua transmitindo a mensagem, mesmo que o período de tempo limite desabilitar ou um dos destinatários não esteja respondendo.
BSF_IGNORECURRENTTASK
0x00000002
Não envia a mensagem para janelas que pertencem à tarefa atual. Isso impede que um aplicativo receba sua própria mensagem.
BSF_NOHANG
0x00000008
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.
BSF_NOTIMEOUTIFNOTHUNG
0x00000040
Aguarda uma resposta à mensagem, desde que o destinatário não esteja respondendo. Não atingiu o tempo limite.
BSF_POSTMESSAGE
0x00000010
Posta a mensagem. Não use em combinação com BSF_QUERY.
BSF_QUERY
0x00000001
Envia a mensagem para um destinatário de cada vez, enviando para um destinatário subsequente somente se o destinatário atual retornar TRUE.
BSF_SENDNOTIFYMESSAGE
0x00000100
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
BSM_ALLCOMPONENTS
0x00000000
Difundir para todos os componentes do sistema.
BSM_ALLDESKTOPS
0x00000010
Difundir para todas as áreas de trabalho. Requer o privilégio SE_TCB_NAME .
BSM_APPLICATIONS
0x00000008
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

BroadcastSystemMessageEx

Conceitual

Mensagens e filas de mensagens

Referência

Sendnotifymessage