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.
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.
WMI + Win32_Battery
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ł)
Drugi sposób sprawdziłem i działa, aczkolwiek BatteryFlag jest nieustalone dopóki się nie zmieni. Dzięki.
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.
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.