Home » Tipps & Tricks » System » Hardware » Power-Status des Computers ermitteln

Power-Status des Computers ermitteln

Bei einem Notebook-Computer kann es sehr interessant sein, Informationen über den aktuellen Power-Status des Systems zu erfahren. Die Windows-API stellt uns mit GetSystemPowerStatus eine sehr hilfreiche Funktion zur Verfügung. Man kann sowohl den aktuellen Ladestand der Batterie ermitteln als auch die geschätze Restlaufzeit des Systems bis zum Erschöpfen der Batterie. Dieses Beispiel ermittelt die Werte und stellt sie in Label auf dem Formular dar.

procedure GetStatus;
var SystemPowerStatus: TSystemPowerStatus;
begin
  GetSystemPowerStatus(SystemPowerStatus);
  with SystemPowerStatus do begin
  // Wird das System mit Wechselstrom oder Akku betrieben ?
    case ACLineStatus of
      0: Label1.Caption := 'System wird mit Akku betrieben';
      1: Label1.Caption := 'System wird mit Wechselstrom betrieben';
      else Label1.Caption := 'Unbekannter Status';
    end;

    // Ladezustand der Batterie
    case BatteryFlag of
      1 : Label2.Caption := 'Hoher Ladezustand';
      2 : Label2.Caption := 'Niedriger Ladezustand';
      4 : Label2.Caption := 'Kritischer Ladezustand';
      8 : Label2.Caption := 'Die Batterie wird geladen';
      128: Label2.Caption := 'Es existiert keine System-Batterie';
      255: Label2.Caption := 'Unbekannter Status';
    end;

    // Ladezustand in Prozent
    if BatteryLifePercent  255 then
      Label3.Caption := IntToStr(BatteryLifePercent) + ' %'
    else
      Label3.Caption := 'Unbekannter Status';
  end;
end;