GetSystemPowerStatus 获取电池信息
本帖最后由 无符号整形 于 2016-9-17 09:37 编辑@拈花小仙 @康小泡 @迷雾少年 @小甲鱼 @~风介~ (排名不分先后哈)
昨天我发了MFC电源监测器,关键部分童鞋门看出来了吗?
看不出来也没事,关键部分在MFCApplication10Dlg.cpp的第168~239行。
这个是MSDN,英文比较好的可以去看看{:10_258:}
好,我们进入正题。
GetSystemPowerStatus原型:
BOOL WINAPI GetSystemPowerStatus(
_Out_ LPSYSTEM_POWER_STATUS lpSystemPowerStatus
);
lpSystemPowerStatus
一个指向SYSTEM_POWER_STATUS结构的参数,用于接收状态信息。
那么,SYSTEM_POWER_STATUS又是什么结构呢?
她的原型:
typedef struct _SYSTEM_POWER_STATUS {
BYTEACLineStatus;
BYTEBatteryFlag;
BYTEBatteryLifePercent;
BYTESystemStatusFlag;
DWORD BatteryLifeTime;
DWORD BatteryFullLifeTime;
} SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
ACLineStatus:交流电源状态。这个成员可以是下列值之一:
值 含义
0 已经通电
1 已经断电
255 未知
BatteryFlag:电池充电状态。这个成员可以包含一个或多个以下的值。
注意:多个值可以通过按位或同时指定!
值 含义
1 高电量(电池电量>66%)
2 低电量(电池电量>33%)
4 极低电量(电池电量>5%)
8 充电中
128 没有电池
255 未知
注意:如果值是0,说明电池没有充电并且电量在低与高之间。
BatteryLifePercent:电池剩余电量百分比,范围为0~100,如果是255则为未知
SystemStatusFlag:可以是下列值:
值含义
0 电池保护被关闭
1 电池保护被开启,会尽可能的节约能源
BatteryLifeTime:剩余电池续航时间的秒数,如果是-1,则表示剩余秒数是未知的或者设备被连接到交流电源。
BatteryFullLifeTime:电池充满电时的电池寿命,如果是-1,则表示剩余秒数是未知的或者设备被连接到交流电源。
然后就介绍完了……{:10_284:} 好详细的介绍,我喜欢!{:10_270:} 必须支持,必须顶` 来支持下 很详细,很喜欢!{:10_256:} 好厉害的函数。。。。。。。。。。。。
页:
[1]