아마
아래의 내용은 WM계열에서 모두 해당할것으로 생각된다.
일단 현재 Power State 를 구한다.
아래의 소스코드로 현재 상태를 구할수있다.
WCHAR powerState[255];
DWORD powerStateFlag;
Egtsystempowerstate(powerState,255,&powerStateFlag);
RETAILMSG(1,(TEXT("System Power State %s %x\r\n"),powerState,powerStateFlag));
위의 소스코드를 이용한 약간의 소스
void Toglgefrontlight()
{
m_Toggle = TRUE;
WCHAR powerState[255];
DWORD powerStateFlag;
GetSystemPowerState(powerState,255,&powerStateFlag);
RETAILMSG(1,(TEXT("System Power State %s %x\r\n"),powerState,powerStateFlag));
if( ( (powerStateFlag & POWER_STATE_ON ) && wcsicmp(L"backlightoff",powerState)!=0 ))
{
RETAILMSG(1,(TEXT("Set System Power to backlightoff \r\n")));
OffFrontLight();
}
else if( (wcsicmp(L"backlightoff",powerState)==0 ))
{
RETAILMSG(1,(TEXT("Set System Power to on \r\n")));
//if(m_InvalidState)
{
// m_InvalidState = FALSE;
BackLightSetState(NULL, D0);
}
OnFrontLight();
}
// 그외의 power state에서는 backlight toggle을 할 필요가 없다.
GetSystemPowerState(powerState,255,&powerStateFlag);
RETAILMSG(1,(TEXT("System Power State2 %s %x\r\n"),powerState,powerStateFlag));
m_Toggle = FALSE;
}