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

交流电源状态。 此成员可以是以下值之一。

含义
0
脱机
1
联机
255
状态未知

BatteryFlag

电池充电状态。 此成员可以包含以下一个或多个标志。

含义
1
高 - 电池容量超过 66%
2
低 - 电池容量小于 33%
4
严重 - 电池容量小于 5%
8
Charging
128
无系统电池
255
未知状态 - 无法读取电池标志信息
 

如果电池未充电,并且电池容量介于低到高之间,则值为零。

BatteryLifePercent

剩余电池电量的百分比。 此成员可以是 0 到 100 范围内的值;如果状态未知,则为 255。

SystemStatusFlag

节电模式的状态。 若要参与节能,请在节电模式打开时避免资源密集型任务。 若要在此值更改时收到通知,请使用电源设置 GUID 调用 RegisterPowerSettingNotification 函数,GUID_POWER_SAVING_STATUS

含义
0
节电模式已关闭。
1
节电模式打开。 尽可能节省能源。
 
注意此标志和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)

另请参阅

GetSystemPowerStatus

PBT_APMPOWERSTATUSCHANGE

硬件组件指南中的节电模式 ()