我正在尝试编写一个小应用程序来监控笔记本电池剩余的电量,我想知道我可以使用哪种Win32功能来实现这一目标。

有帮助吗?

解决方案

对于Vista及以上版本,您可以使用 RegisterPowerSettingNotification

有关早期功能,请参阅电源管理功能在MSDN页面的“电源管理功能:Windows Server 2003及更早版本”

的此部分中

您可以在 codeproject 上查看Vista方法的示例代码。

其他提示

我建议使用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