Batterie-Sparmodus aktivieren



  • Auf Laptops unterstützt Windows ja verschiedene Abstufungen eines Batteriesparmodus, der dann z.B. das Display abdunkelt und die CPU niedriger taktet. Ich habe nun ein Programm, für das es wichtig ist, dass die Akkulaufzeit des PC maximal ausgenutzt wird. Da die Anwender des Programms die Energiesparmodi gerne mal vergessen, würde ich diese Modi gerne von einem Programm aus aktivieren (und beim Beenden den alten Zustand wiederherstellen).

    Derzeit probiere ich das mittels dieser beiden Aufrufe:

    PowerSetActiveScheme(0, &GUID_MAX_POWER_SAVINGS); // Maximale Stromeinsparung
    // ...
    PowerSetActiveScheme(0, &GUID_TYPICAL_POWER_SAVINGS); // Rückkehr zum Normalmodus
    

    Das ganze hat auch durchaus irgendeine Wirkung (Test unter Win 10 1809), aber nicht wirklich die, die ich mir erhofft hätte:

    • GUID_MAX_POWER_SAVINGS (und …MIN... übrigens auch), versetzen den Rechner in einen unklaren Zustand. Der Bildschirm wird sogar heller. Wenn ich in der Taskleiste auf das Batteriesymbol klicke, habe ich dort keine Auswahlmöglichkeiten mehr (auch nach Beendigung des Programms, wenn ich den Aufruf mit GUID_TYPICAL_POWER_SAVINGS weglasse)
    • GUID_TYPICAL_POWER_SAVINGS stellt den alten Zustand wieder her, ich kann danach in der Taskleiste auch wieder den Modus auswählen

    Administratorrechte scheint das ganze interessanterweise nicht zu erfordern. Jedenfalls werde ich nicht gefragt.

    Kann mir jemand weiterhelfen? Eigentlich möchte ich den "Regler", den ich als Benutzer in der Taskleiste manuell bedienen kann, nur durch das Programm automatisiert bedienen. Und nicht ihn deaktivieren. Und im Sparmodus sollte der Bildschirm abgedunkelt werden, nicht heller.



  • das wird dir hier vermutlich keiner sagen können. frag am besten mal direkt bei microsoft nach.



  • @Mr-X sagte in Batterie-Sparmodus aktivieren:

    Das ganze hat auch durchaus irgendeine Wirkung (Test unter Win 10 1809), aber nicht wirklich die, die ich mir erhofft hätte:

    Hast Du schon versucht ein Power Sheme mit PowerDuplicateScheme() zu klonen und mit PowerCreateSetting() deinen Vorstellungen anzupassen? Der User kann ja schließlich mit seinen Power Shemes schon irgendwelche Schindluder getrieben haben wie zB. für "Power Saver" die Displayhelligkeit auf 100% gesetzt haben.


Anmelden zum Antworten