马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
劳架有心人土帮忙利用 GetSystemPowerStatus获取电池电量的TC函数,翻阅好多资料还是不懂写。以上是这个API的一些介绍
一、简介
GetSystemPowerStatus 函数返回系统电源的一个电量状态,这个状态显示系统是否运行在AC(交流电)或者DC(直流电)电流下。电池当前是否在充电或者电量的剩余使用时间。 二、原型
- BOOL GetSystemPowerStatus(
- LPSYSTEM_POWER_STATUS lpSystemPowerSatus // [out] Pointer to a SYSTEM_POWER_STATUS structure that receives status information.
- );
复制代码 SYSTEM_POWER_STATUS的定义:
- typedef struct _SYSTEM_POWER_STATUS {
- BYTE ACLineStatus;
- BYTE BatteryFlag;
- BYTE BatteryLifePercent;
- BYTE Reserved1;
- DWORD BatteryLifeTime;
- DWORD BatteryFullLifeTime;
- } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
复制代码 三、参数说明
CLineStatus 交流电源状态
Value | Meaning | 0 | Offline
| 1 | Online
| 255 | Unknown status
|
BatteryFlag 电池充电状态。 可以包含一或多个以下值
Value | Meaning | 1 | 高,电量大于66%
| 2 | 低,小于33%
| 4 | 极低,小于5%
| 8 | 充电中
| 128 | 没有电池
| 255 | 未知,无法读取状态
|
BatteryLifePercent 电池还有百分之几能充满.0~100,若未知则为255
Reserved1 保留,必须为0
BatteryLifeTime 秒为单位的电池剩余电量, 若未知则为-1
BatteryFullLifeTime 秒为单位的电池充满电的电量,若未知则为-1
|