Re[3]: Ждущий режим
От: AlexBS Украина  
Дата: 22.07.04 07:55
Оценка: 4 (1)
Здравствуйте, XaKeP, Вы писали:


XKP>Здравствуйте, rus blood, Вы писали:


RB>>Ждущий чего?


XKP>Ползователя вестимо.

XKP>"Понижает энергопотребление... бла-бла-бла, что позволяет быстро возобновить сеанс работы."



typedef BOOLEAN (*PFNSETSUSPENDSTATE)(BOOLEAN, BOOLEAN, BOOLEAN);

BOOL SuspendComputer(BOOL bHibernate, BOOL bForce, BOOL bDisableWakeup)
{
    PFNSETSUSPENDSTATE pfnSetSuspendState;
    HINSTANCE hInstPowrProf;
    BOOLEAN bResult;
    OSVERSIONINFO osvi;
    osvi.dwOSVersionInfoSize = sizeof(osvi);
    GetVersionEx(&osvi);

#if 0
    if ((osvi.dwMajorVersion == 4) && (osvi.dwMinorVersion == 0))
#else

    if (osvi.dwMajorVersion == 4)
#endif
    {
        if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
        {
            return FALSE;
        }

        return SetSystemPowerState (!bHibernate, bForce);
    }

    hInstPowrProf = LoadLibrary(TEXT("POWRPROF.DLL"));

    if (!hInstPowrProf)
    {
        return FALSE;
    }

    pfnSetSuspendState =
        (PFNSETSUSPENDSTATE)GetProcAddress(hInstPowrProf,
                                           "SetSuspendState");
    if (!pfnSetSuspendState) {
        FreeLibrary (hInstPowrProf);
        return FALSE;
    }


    bResult = pfnSetSuspendState((BOOLEAN)bHibernate, (BOOLEAN)bForce,
                                 (BOOLEAN) bDisableWakeup);

    FreeLibrary (hInstPowrProf);

    return (BOOL) bResult;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.