Вопрос

Я пытаюсь написать небольшое приложение, которое отслеживает, сколько энергии осталось от батареи ноутбука, и я хотел бы знать, какую функцию 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top