GetSystemPowerStatus_()
Verfasst: 25.04.2005 22:35
Hiermit könnt ihr den Powerstatus des Systems abfragen. DAs ist v.a. bei Notebooks interessant. Nur gibt der API-Befehl bei mir teilweise die erwarteten Werte mit einem - davor zurück. Weiss jemand, woran das liegt? Oder muss ich die betreffenden Werte immer mit -1 multiplizieren?
Hier ist erstaml der Code:
//EDIT: Code entsprechend den anderen Postings korrigiert, also bei den mit ";korrigiert" markierten zeilen hinten noch ein "& 255" hinzugefügt.
//EDIT2: Bei den beiden letzen Codezeilen das "& 255" wieder entfernt, da die beiden letzten Zeilen keine unsigned Bytes sind.
Hier ist erstaml der Code:
Code: Alles auswählen
;© 2005 by hardfalcon, many thx to dige and Laurin!
;See also the following web documents:
;http://msdn.microsoft.com/library/Default.asp?url=/library/en-us/power/base/getsystempowerstatus.asp
;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/power/base/system_power_status_str.asp
;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/power/base/power_management_functions.asp
SPS.SYSTEM_POWER_STATUS
GetSystemPowerStatus_(SPS.SYSTEM_POWER_STATUS)
Debug SPS.SYSTEM_POWER_STATUS\ACLineStatus & 255 ;korrigiert
Debug SPS.SYSTEM_POWER_STATUS\BatteryFlag & 255 ;korrigiert
Debug SPS.SYSTEM_POWER_STATUS\BatteryLifePercent & 255 ;korrigiert
Debug SPS.SYSTEM_POWER_STATUS\Reserved1 & 255 ;korrigiert
Debug SPS.SYSTEM_POWER_STATUS\BatteryLifeTime
Debug SPS.SYSTEM_POWER_STATUS\BatteryFullLifeTime
//EDIT2: Bei den beiden letzen Codezeilen das "& 255" wieder entfernt, da die beiden letzten Zeilen keine unsigned Bytes sind.