Здравствуйте, 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;
}