WM_POWERBROADCAST wird in den meisten Fällen nicht gesendet?C++

Programme in C++. Entwicklerforum
Anonymous
 WM_POWERBROADCAST wird in den meisten Fällen nicht gesendet?

Post by Anonymous »

Ich habe eine native Win32-Anwendung mit einem WndProc(), der WM_POWERBROADCAST wie folgt verarbeitet:

Code: Select all

case WM_POWERBROADCAST:
switch (wParam) {
case PBT_APMPOWERSTATUSCHANGE: Trace("AC/DC change"); break;
case PBT_APMRESUMEAUTOMATIC:   Trace("Resume from sleep"); break;
case PBT_APMRESUMESUSPEND:     Trace("Resume from sleep by user"); break;
case PBT_APMSUSPEND:           Trace("Will go to sleep"); break;
case PBT_POWERSETTINGCHANGE:   Trace("Power setting change"); break;
default:                       Trace("Unknown"); break;
}
return TRUE;
Was muss ich tun, damit Windows 11 alle PBT_-Nachrichten sendet?
Derzeit erlebe ich Folgendes:
  • Code: Select all

    PBT_APMPOWERSTATUSCHANGE
    : Dies wird gesendet, wenn das Netzkabel an den Laptop angeschlossen/abgezogen wird.
  • Code: Select all

    PBT_APMRESUMEAUTOMATIC
    : Dies wird nicht gesendet, wenn der Laptop aufgrund eines Tastendrucks aus dem Ruhezustand aufwacht.
  • Code: Select all

    PBT_APMRESUMESUSPEND
    : Dies wird nicht gesendet, wenn der Laptop aufgrund eines Tastendrucks aus dem Ruhezustand aufwacht.
  • Code: Select all

    PBT_APMSUSPEND
    : Dies wird nicht gesendet, wenn der Laptop in den Ruhezustand wechselt.
  • Code: Select all

    PBT_POWERSETTINGCHANGE
    : Dies wird gesendet, wenn ich mich dafür registriere.
  • Ich habe die Ausführung des Standardzweigs nicht gesehen.
Die Frage betrifft also die mittleren drei.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post