鱼C论坛

 找回密码
 立即注册
查看: 3369|回复: 5

[技术交流] GetSystemPowerStatus 获取电池信息

[复制链接]
发表于 2016-9-17 09:35:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 无符号整形 于 2016-9-17 09:37 编辑

@拈花小仙 @康小泡 @迷雾少年 @小甲鱼 @~风介~ (排名不分先后哈)
昨天我发了MFC电源监测器,关键部分童鞋门看出来了吗?
看不出来也没事,关键部分在MFCApplication10Dlg.cpp的第168~239行。

这个是MSDN,英文比较好的可以去看看

好,我们进入正题。
GetSystemPowerStatus原型:
BOOL WINAPI GetSystemPowerStatus(
  _Out_ LPSYSTEM_POWER_STATUS lpSystemPowerStatus
);
lpSystemPowerStatus
一个指向SYSTEM_POWER_STATUS结构的参数,用于接收状态信息。

那么,SYSTEM_POWER_STATUS又是什么结构呢?
她的原型:
typedef struct _SYSTEM_POWER_STATUS {
  BYTE  ACLineStatus;
  BYTE  BatteryFlag;
  BYTE  BatteryLifePercent;
  BYTE  SystemStatusFlag;
  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,则表示剩余秒数是未知的或者设备被连接到交流电源。

然后就介绍完了……

评分

参与人数 3荣誉 +15 鱼币 +15 贡献 +13 收起 理由
拈花小仙 + 5 + 5 + 3 感谢楼主无私奉献!
小甲鱼 + 5 + 5 + 5 感谢楼主无私奉献!
~风介~ + 5 + 5 + 5 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-9-17 10:08:21 | 显示全部楼层
好详细的介绍,我喜欢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-17 10:19:42 | 显示全部楼层
必须支持,必须顶`
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-17 10:23:13 | 显示全部楼层
来支持下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-17 15:48:26 | 显示全部楼层
很详细,很喜欢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-4 21:43:01 | 显示全部楼层
好厉害的函数。。。。。。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 02:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表