pesan WM_POWERBROADCAST

Memberi tahu aplikasi bahwa peristiwa manajemen daya telah terjadi.

Jendela menerima pesan ini melalui fungsi WindowProc-nya.

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

Parameter

hwnd

Handel ke jendela.

uMsg

Value Makna
WM_POWERBROADCAST
536 (0x218)
Pengidentifikasi pesan.

wParam

Peristiwa manajemen daya. Parameter ini bisa menjadi salah satu pengidentifikasi peristiwa berikut.

Aktivitas Makna
PBT_APMPOWERSTATUSCHANGE
10 (0xA)
Status daya telah berubah.
PBT_APMRESUMEAUTOMATIC
18 (0x12)
Operasi ditahan secara otomatis dari status daya rendah. Pesan ini dikirim setiap kali sistem dilanjutkan.
PBT_APMRESUMESUSPEND
7 (0x7)
Operasi bersumber dari status daya rendah. Pesan ini dikirim setelah PBT_APMRESUMEAUTOMATIC jika resume dipicu oleh input pengguna, seperti menekan tombol.
PBT_APMSUSPEND
4 (0x4)
Sistem menangguhkan operasi.
PBT_POWERSETTINGCHANGE
32787 (0x8013)
Peristiwa perubahan pengaturan daya telah diterima.

lParam

Data khusus peristiwa. Untuk sebagian besar peristiwa, parameter ini dicadangkan dan tidak digunakan.

Jika parameter wParam PBT_POWERSETTINGCHANGE, parameter lParam adalah penunjuk ke struktur POWERBROADCAST_SETTING.

Nilai hasil

Aplikasi harus mengembalikan TRUE jika memproses pesan ini.

Keterangan

Sistem selalu mengirim pesan PBT_APMRESUMEAUTOMATIC setiap kali sistem dilanjutkan. Jika sistem dilanjutkan sebagai respons terhadap input pengguna seperti menekan kunci, sistem juga mengirim pesan PBT_APMRESUMESUSPEND setelah mengirim PBT_APMRESUMEAUTOMATIC.

WM_POWERBROADCAST pesan tidak membedakan antara status berdaya rendah yang berbeda. Aplikasi hanya dapat menentukan bahwa sistem memasuki atau telah dilanjutkan dari status daya rendah; tidak dapat menentukan status daya tertentu. Sistem mencatat detail tentang transisi status daya di log peristiwa Sistem Windows.

Untuk mencegah sistem beralih ke status daya rendah di Windows Vista, aplikasi harus memanggil SetThreadExecutionState untuk memberi tahu sistem bahwa sistem sedang digunakan.

Pesan berikut ini tidak didukung pada salah satu sistem operasi yang ditentukan di bagian Persyaratan:

  • PBT_APMQUERYSTANDBY
  • PBT_APMQUERYSTANDBYFAILED
  • PBT_APMSTANDBY
  • PBT_APMRESUMESTANDBY

Persyaratan

Persyaratan Value
Klien minimum yang didukung
Windows XP [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2003 [hanya aplikasi desktop]
Header
WinUser.h (termasuk Windows.h)

Baca juga