Мониторинг заряда батареи с Win32 API - PullRequest
6 голосов
/ 24 октября 2008

Я пытаюсь написать небольшое приложение, которое отслеживает, сколько энергии осталось в аккумуляторе ноутбука, и я хотел бы знать, какую функцию Win32 я мог бы использовать для этого.

Ответы [ 3 ]

7 голосов
/ 24 октября 2008

Для Vista и выше вы можете использовать RegisterPowerSettingNotification

Для более ранних функций см. Функции управления питанием в этом разделе страницы MSDN «Функции управления питанием: Windows Server 2003 и более ранние версии»

Пример кода метода Vista можно посмотреть на codeproject .

3 голосов
/ 03 апреля 2015

Я рекомендую использовать функцию Win32 GetSystemPowerStatus . Фрагмент кода:

int getBatteryLevel()
{
    SYSTEM_POWER_STATUS status;
    GetSystemPowerStatus(&status);
    return status.BatteryLifePercent;
}
0 голосов
/ 25 сентября 2014

В следующей ссылке есть очень подробная статья, а также пример проекта n (проверено, работает на Win8.1): http://www.codeproject.com/Articles/15829/Vista-Goodies-in-C-Monitoring-the-Computer-s-Power

...