Seite 2 von 2
Verfasst: 26.04.2005 15:11
von ts-soft
Korrigiert:
Zur Darstellung, reicht es doch so:
Code: Alles auswählen
SPS.SYSTEM_POWER_STATUS
GetSystemPowerStatus_(SPS.SYSTEM_POWER_STATUS)
Debug StrU(SPS.SYSTEM_POWER_STATUS\ACLineStatus, #Byte)
Debug StrU(SPS.SYSTEM_POWER_STATUS\BatteryFlag, #Byte)
Debug StrU(SPS.SYSTEM_POWER_STATUS\BatteryLifePercent, #Byte)
Debug StrU(SPS.SYSTEM_POWER_STATUS\Reserved1, #Byte)
Debug StrU(SPS.SYSTEM_POWER_STATUS\BatteryLifeTime, #Byte)
Debug StrU(SPS.SYSTEM_POWER_STATUS\BatteryFullLifeTime, #Byte)
Warum DWORD in MSDN deklariert ist, und BYTE ausgewertet wird, ist mir aber nicht klar geworden

Verfasst: 26.04.2005 15:16
von hardfalcon
@ts-soft: Vielen Dank, aber die beiden letzten Werte werden bei mir nur korrekt (=255) zurückgegeben, wenn ich "#Long" durch "#Byte" ersetze. Da die beiden letzten Werte jedoch Longs sein sollten, würde es mit "#Byte" auf einem Laptop mit Akku wahrscheinlich nicht mehr funzen (ich hab das ganze auf nem Desktop-PC)
Verfasst: 26.04.2005 15:26
von ts-soft
hardfalcon hat geschrieben:@ts-soft: Vielen Dank, aber die beiden letzten Werte werden bei mir nur korrekt (=255) zurückgegeben, wenn ich "#Long" durch "#Byte" ersetze. Da die beiden letzten Werte jedoch Longs sein sollten, würde es mit "#Byte" auf einem Laptop mit Akku wahrscheinlich nicht mehr funzen (ich hab das ganze auf nem Desktop-PC)
Wenn Du Dir mit dem Struktureviewer, die Strukture anguckst, was man ja eigentlich immer macht, wirste feststellen, das die letzten beiden Werte als Long deklariert sind
Gruß
Thomas
Nachtrag: Hab aber in der MSDN nicht nachgeschaut ob signed oder unsigned Long, sondern bin erstmal davon ausgegangen, kannste dann ja mal überprüfen (bin zu faul)
Verfasst: 26.04.2005 15:32
von hardfalcon
Ich weiss das schon, aber bei mir kommt mit deiner Methode ein falscher Wert raus, während mit diges / Laurins Methode alles einwandfrei klappt.
Verfasst: 26.04.2005 15:48
von hardfalcon
@ts-soft: Die letzten beiden Werte sind, galube ich, SIGNED Bytes, von daher können wir und das StrU() da sparen...
//EDIT: Und weil die Ergebnisse meistens wohl als Zahl und nicht als String gebraucht werden, ist IMHO "& 255" oder "& $FF" besser... Spart Rechenzeit.