1. 程式人生 > >獲取電腦電池電量資訊的函式。。

獲取電腦電池電量資訊的函式。。

BOOL WINAPI GetSystemPowerStatus(
  __out         LPSYSTEM_POWER_STATUS lpSystemPowerStatus
);


typedef struct _SYSTEM_POWER_STATUS {  BYTE ACLineStatus;  BYTE BatteryFlag;  BYTE BatteryLifePercent;  BYTE Reserved1;  DWORD BatteryLifeTime;  DWORD BatteryFullLifeTime;
} SYSTEM_POWER_STATUS,  *LPSYSTEM_POWER_STATUS;

Members
ACLineStatus 
The AC power status. This member can be one of the following values. 

Value Meaning 
0
 Offline
 
1
 Online
 
255
 Unknown status
 

BatteryFlag 
The battery charge status. This member can contain one or more of the following flags. 

Value Meaning 
1
 High—the battery capacity is at more than 66 percent
 
2
 Low—the battery capacity is at less than 33 percent
 
4
 Critical—the battery capacity is at less than five percent
 
8
 Charging
 
128
 No system battery
 
255
 Unknown status—unable to read the battery flag information
 

The value is zero if the battery is not being charged and the battery capacity is between low and high.

BatteryLifePercent 
The percentage of full battery charge remaining. This member can be a value in the range 0 to 100, or 255 if status is unknown.

Reserved1 
Reserved; must be zero.

BatteryLifeTime 
The number of seconds of battery life remaining, or –1 if remaining seconds are unknown.

BatteryFullLifeTime 
The number of seconds of battery life when at full charge, or –1 if full battery lifetime is unknown.


SYSTEM_POWER_STATUS sysPower = {0};


GetSystemPowerStatus(&sysPower);