SW 개발

[winCE/WM] 현재 PDA의 Power 상태(battery) 확인하기

. . . 2009. 10. 8. 23:54
반응형

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
반응형