Status der System-batterie ermitteln
8. Mai 2004, 02:42
Delphi-Quellcode:
function GetPowerStatus(var HasBattery: Boolean; var LoadStatusString: String;
var LoadstatusPercent: Integer): DWORD;
var
SystemPowerStatus: TSystemPowerStatus;
Text: string;
resourcestring
rsLoadStatusUnknown = 'Unbekannter Status';
rsLoadStatusNoBattery = 'Es existiert keine Batterie';
rsLoadStatusHigh = 'Hoher Ladezustand';
rsLoadStatusLow = 'Niedriger Ladezustand';
rsLoadStatusCritical = 'Kritischer Ladezustand';
rsLoadStatusLoading = 'Batterie wird geladen';
rsLoadSatusUnknownLoading = 'Unbekannter Ladezustand';
begin
SetLastError(0);
if GetSystemPowerStatus(SystemPowerStatus) then
with SystemPowerStatus do
begin
HasBattery := ACLineStatus = 0;
// Ladezustand der Batterie
if (BatteryFlag = 255) then
Text := rsLoadStatusUnknown
else if (BatteryFlag and 128 = 128) then
Text := rsLoadStatusNoBattery
else
begin
case (BatteryFlag and (1 or 2 or 4)) of
1: Text := rsLoadStatusHigh;
2: Text := rsLoadStatusLow;
4: Text := rsLoadStatusCritical;
else
Text := rsLoadSatusUnknownLoading
end;
if (BatteryFlag and 8 = 8) then
LoadStatusString := Text + rsLoadStatusLoading;
end;
// Ladezustand in Prozent
if (BatteryLifePercent <> 255) then
LoadstatusPercent := BatteryLifePercent
else
LoadstatusPercent := -1;
end;
Result := GetLastError;
end;
Nico Bendlin ( NicoDE), Michael Puff ( Luckie)
Michael Ein Teil meines Codes würde euch verunsichern.
|