Мониторинг заряда батареи с Win32 API
-
04-07-2019 - |
Вопрос
Я пытаюсь написать небольшое приложение, которое отслеживает, сколько энергии осталось от батареи ноутбука, и я хотел бы знать, какую функцию Win32 я мог бы использовать для этого.
Решение
Для Vista и выше вы можете использовать RegisterPowerSettingNotification р>
Для более ранних функций см. функции управления питанием в этом разделе страницы MSDN «Функции управления питанием: Windows Server 2003 и более ранние версии»
Пример кода метода Vista можно посмотреть в codeproject . Р>
Другие советы
Я рекомендую использовать Win32 GetSystemPowerStatus . Фрагмент кода:
int getBatteryLevel()
{
SYSTEM_POWER_STATUS status;
GetSystemPowerStatus(&status);
return status.BatteryLifePercent;
}
В следующей ссылке есть очень подробная статья, а также пример проекта (тестирование работало на Win8.1): http://www.codeproject.com/Articles/15829/Vista-Goodies-in-C-Monitoring-the-Computer- s-Power р>