T-17: Energieoptionen
Gastposting von Oliver Scheer , Developer Evangelist - Windows, Silverlight und UI-Technologien bei der Microsoft Deutschland GmbH.
Nur noch 17 Tage bis zum Windows 7 Launch.
Green IT ist in aller Munde. Aber welchen Einfluss kann der Entwickler auf den Stromstatus des Rechners nehmen? Genau diese Fragestellung wird heute das Thema des Tages sein.
Windows 7 Energieoptionen verwalten
Über die Windows 7-Energieoptionen kann man als Anwender den Energieverbrauch des Rechners bestimmen. Dabei gibt es drei Standard-Optionen:
- Ausbalanciert: Es werden ausgewogene Einstellungen gewählt, die sowohl ein normales Leistungsniveau als auch einen adäquaten Energieverbrauch definieren
- Energiesparmodus: Drosselt den Stromverbrauch des Rechners so weit wie möglich.
- Höchstleistung: Es wird die maximale Leistung bereit gestellt, zu Lasten des Energieverbrauchs.
Alle diese Einstellungen lassen sich vom Benutzer noch individuell konfigurieren. Wenn ich unterwegs bin und nicht an einer Steckdose hänge, schalte ich meinen Rechner immer manuell auf den Energiesparmodus. Dadurch wird die Bildschirmleuchtkraft heruntergefahren und der Glas-Effekt deaktiviert.
In dem Moment, an dem ich allerdings einen Vortrag halte, stelle ich die Energieoptionen immer auf Höchstleistung. Ich möchte den Zuhörern ja schließlich die volle Pracht von Windows 7 demonstrieren.
Wie kann der Entwickler erkennen, in welchem Modus man sich gerade befindet?
Über das Windows API Code Pack hat man Zugriff auf die Einstellungen der Energieoptionen sowie auf den aktuellen Stromzufuhrstatus. In der Core-Bibliothek befindet sich die Klasse Powermanager, die sehr detailliert Auskunft darüber erteilen kann.
Eigenschaft |
Beschreibung |
BatteryLifePercent |
Liefert den aktuellen Ladezustand der Batterie |
IsBatteryPresent |
Befindet sich überhaupt eine Batterie im Gerät? |
IsBatteryShortTerm |
Handelt es sich um eine kleine Überbrückungsbatterie oder eher um einen richtigen Akku? |
IsMonitorOn |
Ist der Monitor am Notebook aktuell eingeschaltet |
IsUpsPresent |
Ist eine unterbrechungsfreie Stromversorgung vorhanden? |
MonitorRequired |
Ist für die aktuelle Ausführung zwingend ein Monitor erforderlich |
PowerPersonality |
Liefert das aktuell ausgewählte Energieschema des Notebooks zurück, das über die Energieoptionen definiert ist |
Ereignis |
Beschreibung |
BatteryLifePercentChanged |
Batterieladezustand hat sich verändert |
IsMonitorOnChanged |
Zustand des Notebook-Monitors hat sich geändert |
PowerPersonalityChanged |
Energieschema wurde geändert |
PowerSourceChanged |
Stromquelle hat sich verändert |
SystemBusyChanged |
Systemausführung wurde geändert |
Zum Ermitteln des aktuellen Batteriezustandes kann man auch die Methode GetCurrentBatteryState verwenden. Diese liefert einen Snapshot des aktuellen Zustandes, den man für weitere Auswertungen verwenden kann.
Video des Tages