PPC - Prevent Automatic Power Down

From YYpBD's MediaWiki

Jump to: navigation, search

DWORD batIdle, acIdle, wakeUpIdle, shortestIdle;
TCHAR szOutput[200];

// Get the values.
SystemParametersInfo(SPI_GETBATTERYIDLETIMEOUT,0,&batIdle,0);
SystemParametersInfo(SPI_GETEXTERNALIDLETIMEOUT,0,&acIdle,0);
SystemParametersInfo(SPI_GETWAKEUPIDLETIMEOUT,0,&wakeUpIdle,0);

// Determine which is the lowest nonzero value.
shortestIdle=batIdle;
shortestIdle=((acIdle>0)&&(acIdle<shortestIdle)) ? acIdle : (((wakeUpIdle>0)&&(wakeUpIdle<shortestIdle)) ? wakeUpIdle : shortestIdle);

if (shortestIdle==0)
    // If all values are zero, the device can never time out.
    wsprintf(szOutput,_T("Battery Idle Timeout: %d\nAC Power Idle Timeout: %d\nWakeup Idle Timeout: %d\nThe device will not time out."),batIdle, acIdle, wakeUpIdle);
else
{
    // Otherwise, you need to reset the idle timer more
    // frequently than the lowest time-out value.
    wsprintf(szOutput,_T("Battery Idle Timeout: %d\nAC Power
        Idle Timeout: %d\nWakeup Idle Timeout: %d\nYou need to
        call SystemIdleTimerReset at least every %d
        sec"),batIdle, acIdle, wakeUpIdle, shortestIdle-1);
}
MessageBox(hWnd,szOutput,_T("Results"),MB_OK);
맞춤검색