Mensagem WM_POWERBROADCAST

Notifica os aplicativos sobre a ocorrência de um evento de gerenciamento de energia.

Uma janela recebe essa mensagem por meio da sua função WindowProc.

LRESULT CALLBACK WindowProc(
  HWND   hwnd,    // handle to window
  UINT   uMsg,    // WM_POWERBROADCAST
  WPARAM wParam,  // power-management event
  LPARAM lParam   // function-specific data
);

Parâmetros

hwnd

Uma alça para a janela.

uMsg

Valor Significado
WM_POWERBROADCAST
536 (0x218)
Identificador de mensagem.

wParam

O evento de gerenciamento de energia. Esse parâmetro pode ser um dos seguintes identificadores de evento.

Evento Significado
PBT_APMPOWERSTATUSCHANGE
10 (0xA)
O status de energia foi alterado.
PBT_APMRESUMEAUTOMATIC
18 (0x12)
A operação está sendo retomada automaticamente a partir de um estado de baixo consumo de energia. Essa mensagem é enviada sempre que o sistema é retomado.
PBT_APMRESUMESUSPEND
7 (0x7)
A operação está sendo retomada a partir de um estado de baixo consumo de energia. Essa mensagem será enviada após PBT_APMRESUMEAUTOMATIC se a retomada for disparada pela entrada do usuário, como pressionar uma tecla.
PBT_APMSUSPEND
4 (0x4)
O sistema está suspendendo a operação.
PBT_POWERSETTINGCHANGE
32787 (0x8013)
Foi recebido um evento de alteração da configuração de energia.

lParam

Os dados específicos do evento. Para a maioria dos eventos, esse parâmetro é reservado e não é utilizado.

Se o parâmetro wParam for PBT_POWERSETTINGCHANGE, o parâmetro lParam será um ponteiro para uma estrutura POWERBROADCAST_SETTING.

Valor retornado

Um aplicativo deve retornar TRUE se processar essa mensagem.

Comentários

O sistema sempre envia uma mensagem PBT_APMRESUMEAUTOMATIC sempre que o sistema é retomado. Se o sistema for retomado em resposta à entrada do usuário, como pressionar uma tecla, o sistema também enviará uma mensagem PBT_APMRESUMESUSPEND depois de enviar PBT_APMRESUMEAUTOMATIC.

As mensagens WM_POWERBROADCAST não fazem distinção entre os diferentes estados de baixo consumo de energia. Um aplicativo pode determinar apenas que o sistema está entrando ou saiu de um estado de baixo consumo de energia; ele não pode determinar o estado de energia específico. O sistema registra detalhes sobre as transições de estado de energia no log de eventos do Sistema Windows.

Para evitar que o sistema faça a transição para um estado de baixo consumo de energia no Windows Vista, um aplicativo deve chamar SetThreadExecutionState para informar ao sistema que está em uso.

As mensagens a seguir não têm suporte em nenhum dos sistemas operacionais especificados na seção Requisitos:

  • PBT_APMQUERYSTANDBY
  • PBT_APMQUERYSTANDBYFAILED
  • PBT_APMSTANDBY
  • PBT_APMRESUMESTANDBY

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho
WinUser.h (incluir o Windows.h)

Confira também