2008. 9. 6. 10:24
전원 상태를 알아오는 SYSTEM_POWER_STATUS struct
2008. 9. 6. 10:24 in Programmings/Windows Programming
'SYSTEM_POWER_STATUS' 는 Windows System에서 전력관리에 사용되는 구조체이다.
현재 동작하는 Windows System의 전원상태에 대한 정보를 담고 있다고 보면 된다. 전원에 대한 상태라는 것은 현재 사용하고 있는 전원이 AC인지 아니면 배터리를 사용하고 있는지에 대한 정보, 또 배터리를 사용하고 있다면 남아있는 배터리의 양이라든지 life time이라든지에 대한 정보를 말한다.
이녀석에 대한 정보를 가져오기 위해서는 'GetSystemPowerStatus()'라는 함수를 사용하게 된다. GetSystemPowerStatus()함수의 인자로 SYSTEM_POWER_STATUS가 사용되고, 현재 전원에 대한 상태정보를 인자로 사용된 이 구제체로 복사를 해오는 것이다.
현재 전원에 대한 상태정보를 알기 위해서 이 구조체를 사용하기만 하면된다.
Syntax를 보면 다음과 같다.ACLineStatustypedef struct _SYSTEM_POWER_STATUS {
BYTE ACLineStatus;
BYTE BatteryFlag;
BYTE BatteryLifePercent;
BYTE Reserved1;
DWORD BatteryLifeTime;
DWORD BatteryFullLifeTime;
} SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
: AC power의 상태를 말한다. (0 : Offline, 1 : Online, 255 : Unknown status)
BatteryFlag
: 배터리의 charge status를 나타낸다.
1 : High-the battery capacity is at more than 66 %
2 : Low—the battery capacity is at less than 33 %
4 : Critical—the battery capacity is at less than 5 %
8 : Charging
128 : No system battery
255 : Unknown status—unable to read the battery flag information
BatteryLifePercent
남아있는 배터리의 양을 %로 표현한다. 0 ~ 100 사이의 값으로 표현되고, 상태를 알 수 없으면 255.
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.
참고 : MSDN
'Programmings > Windows Programming' 카테고리의 다른 글
Windows Power Management Structures (0) | 2008.09.11 |
---|---|
VS2005 응용프로그램 에러.. "응용 프로그램 구성이 올바르지 않기 때문에 이 응용 프로그램을 시작하지 못했습니다..." (3) | 2008.09.08 |
Windows Power management API - PBT_APMPOWERSTATUSCHANGE Event (1) | 2008.09.05 |
GetCurrentDirectory()를 이용한 Windows에서 현재경로 받아오기.. (1) | 2008.08.20 |
Windows 프로그램을 시작 프로그램으로 등록하기 (0) | 2008.08.19 |