Sprawdzanie poziomu baterii w laptopie

0

Witam,

Przeszukałem vortal, forum i pogooglowałem, ale nic nie znalazłem. Szukam sposobu na sprawdzenie poziomu baterii w laptopie z poziomu Delphi. Ktoś może próbował coś takiego zrobić?

Z góry dzięki.

0

WMI + Win32_Battery

0

API: GetSystemPowerStatus(PowerStatus), gdzie PowerStatus: _SYSTEM_POWER_STATUS. A potem już tylko sprawdzanie:

PowerStatus.ACLineStatus (tryb pracy laptopa, np. czy zasilacz lub bateria)
PowerStatus.BatteryLifePercent (to o co się pytasz)
PowerStatus.BatteryFlag (poziom baterii, np. wysoki, niski, krytyczny lub ładowanie)
PowerStatus.BatteryFullLifeTime (teoretycznie jest to całkowity czas pracy na baterii)
PowerStatus.BatteryLifeTime (czas pracy na baterii który pozostał)

0

Drugi sposób sprawdziłem i działa, aczkolwiek BatteryFlag jest nieustalone dopóki się nie zmieni. Dzięki.

0
maxi napisał(a)

Drugi sposób sprawdziłem i działa, aczkolwiek BatteryFlag jest nieustalone dopóki się nie zmieni. Dzięki.

Cytat z MSDN:

The value is zero if the battery is not being charged and the battery capacity is between low and high.

0

Gdzieś, chyba też na MSDN, widziałem tabelkę z wartościami dla poszczególnych stanów i były wymienione też procenty, od których dany stan jest przyznawany i nie widziałem tam nic takiego. Chociaż mogłem nie zauważyć, a to faktycznie ma sens.

Dzięki jeszcze raz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1