반응형
PDA의 현재 Power 상태를 알수있다. 이때 필요한 API 는 GetSystemPowerStatusEx()
예제소스..
SYSTEM_POWER_STATUS_EX powerStatus;
GetSystemPowerStatusEx(&powerStatus, FALSE);
위에서 보면 SYSTEM_POWER_STATUS_EX
구조체 인데.. 구조체의 내용은 아래와 같다.
typedef struct _SYSTEM_POWER_STATUS_EX {
BYTE ACLineStatus;
BYTE BatteryFlag;
BYTE BatteryLifePercent;
BYTE Reserved1;
DWORD BatteryLifeTime;
DWORD BatteryFullLifeTime;
BYTE Reserved2;
BYTE BackupBatteryFlag;
BYTE BackupBatteryLifePercent;
BYTE Reserved3;
DWORD BackupBatteryLifeTime;
DWORD BackupBatteryFullLifeTime;
} SYSTEM_POWER_STATUS_EX, *PSYSTEM_POWER_STATUS_EX, *LPSYSTEM_POWER_STATUS_EX;
각 멤버들의 이름을 보면 알수있듯이 배터리의 모든 상태를 알 수 있다. 특이한점은 ACLineStatus 변수로 현재 충전중일때도 알수있다는 것이다.
디바이스 드라이버 / 어플리케이션에서 모두 유용하게 쓰이는 API다.
관련 msdn
- SYSTEM_POWER_STATUS_EX : http://msdn.microsoft.com/en-us/library/ms940384.aspx
- GetSystemPowerStatusEx() : http://msdn.microsoft.com/en-us/library/ms929471.aspx
반응형