我正在尝试编写一个程序来获取笔记本电脑电池的百分比,然后显示一个显示消息的 CMD(例如:10% -> “电池电量低!”)。 我试着用谷歌搜索它,似乎他们都尝试过使用 C++ 或 C#。 有人可以帮我用 C 吗?
编辑:感谢 zakinster 的回复。它不应该看起来像这样吗?此代码无效。
#include <Windows.h>
#include <Winbase.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
SYSTEM_POWER_STATUS status;
GetSystemPowerStatus(&status);
unsigned char battery = status.BatteryLifePercent;
printf("%s", battery);
}
最佳答案
GetSystemPowerStatus
来自 Win32 API 的应该提供您需要的信息:
SYSTEM_POWER_STATUS status;
if(GetSystemPowerStatus(&status)) {
unsigned char battery = status.BatteryLifePercent;
/* battery := 0..100 or 255 if unknown */
if(battery == 255) {
printf("Battery level unknown !");
}
else {
printf("Battery level : %u%%.", battery);
}
}
else {
printf("Cannot get the power status, error %lu", GetLastError());
}
请参阅 SYSTEM_POWER_STATUS 的文档包含信息的完整列表的结构。
关于C 在 Windows 7 下获取电池生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22516647/