winbase.h) (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
交流电源状态。 此成员可以是以下值之一。
值 | 含义 |
---|---|
|
脱机 |
|
联机 |
|
状态未知 |
BatteryFlag
电池充电状态。 此成员可以包含以下一个或多个标志。
值 | 含义 |
---|---|
|
高 - 电池容量超过 66% |
|
低 - 电池容量小于 33% |
|
严重 - 电池容量小于 5% |
|
Charging |
|
无系统电池 |
|
未知状态 - 无法读取电池标志信息 |
如果电池未充电,并且电池容量介于低到高之间,则值为零。
BatteryLifePercent
剩余电池电量的百分比。 此成员可以是 0 到 100 范围内的值;如果状态未知,则为 255。
SystemStatusFlag
节电模式的状态。 若要参与节能,请在节电模式打开时避免资源密集型任务。 若要在此值更改时收到通知,请使用电源设置 GUID 调用 RegisterPowerSettingNotification 函数,GUID_POWER_SAVING_STATUS。
值 | 含义 |
---|---|
|
节电模式已关闭。 |
|
节电模式打开。 尽可能节省能源。 |
注意此标志和GUID_POWER_SAVING_STATUS GUID 是在 Windows 10 中引入的。 此标志以前保留,名为 Reserved1,其值为 0。
BatteryLifeTime
剩余电池使用时间的秒数;如果剩余秒未知或设备连接到交流电源,则为 –1。
BatteryFullLifeTime
充满电时的电池使用时间的秒数;如果电池完整使用时间未知或设备连接到交流电源,则为 –1。
注解
系统只能根据 BatteryLifeTime 和 BatteryLifePercent 的计算来估算 BatteryFullLifeTime。 如果没有智能电池子系统,此值可能不够准确,无法发挥作用。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | winbase.h (包括 Windows.h) |