Как узнать заряд батареи ноутбука
Как узнать заряд батареи ноутбука
Если вы разрабатываете программы, предназначенные для ноутбуков, в них надо учитывать один важный момент - состояние питания и статус батареи. Например, при низком уровне заряда батареи лучше предупредить пользователя о несохраненных данных, или попробовать приостановить какие-нибудь ресурсоемкие операции до подключения ноутбука к сети. Как обычно, я буду использовать мой любимый Ассемблер.
Текущее состояние системы питания компьютера и оставшийся заряд батареи определяется одной функцией - GetSystemPowerStatus. Структура SYSTEM_POWER_STATUS, используемая в ней, в FASM не определена, сделаем это самостоятельно:
Code (Assembler) : Убрать нумерацию
- struct SYSTEM_POWER_STATUS
- ACLineStatus db ?
- BatteryFlag db ?
- BatteryLifePercent db ?
- SystemStatusFlag db ?
- BatteryLifeTime dw ?
- BatteryFullLifeTime dw ?
- ends
В приложении пример программы с исходным текстом, определяющей текущее состояние питания компьютера.
Просмотров: 3430 | Комментариев: 3
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
Владислав
(07.04.2017 в 14:36):
а,... тогда прошу прощения)
ManHunter
(07.04.2017 в 13:59):
А кто сказал, что "Battery Life" - это уровень старения батареи? Это оставшийся заряд аккумулятора в процентах, ничего более.
Владислав
(07.04.2017 в 13:26):
Battarey Life выдает неверное значение, на него полагаться нельзя, у меня батарея около 40-50 % (Lenovo офиц. тулза выдает), а тут говорит что 100%...
остальные параметры вроде верны.
Видимо, Windows не в состоянии верно оценить уровень старения батареи..
остальные параметры вроде верны.
Видимо, Windows не в состоянии верно оценить уровень старения батареи..
Добавить комментарий
Заполните форму для добавления комментария