Здравствуйте, rus blood, Вы писали:
RB>Ждущий чего?
Ползователя вестимо.
"Понижает энергопотребление... бла-бла-бла, что позволяет быстро возобновить сеанс работы."
Здравствуйте, XaKeP, Вы писали:
XKP>Ползователя вестимо.
Странный вопрос именно в win api.
Большинство gui-программ работают именно в таком ждущем режиме...
В чем конретно проблема?
Здравствуйте, 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;
}
Здравствуйте, AlexBS, Вы писали:
ABS>ABS>typedef BOOLEAN (*PFNSETSUSPENDSTATE)(BOOLEAN, BOOLEAN, BOOLEAN);
ABS>BOOL SuspendComputer(BOOL bHibernate, BOOL bForce, BOOL bDisableWakeup)
ABS>{
ABS> PFNSETSUSPENDSTATE pfnSetSuspendState;
ABS> HINSTANCE hInstPowrProf;
ABS> BOOLEAN bResult;
ABS> OSVERSIONINFO osvi;
ABS> osvi.dwOSVersionInfoSize = sizeof(osvi);
ABS> GetVersionEx(&osvi);
ABS>#if 0
ABS> if ((osvi.dwMajorVersion == 4) && (osvi.dwMinorVersion == 0))
ABS>#else
ABS> if (osvi.dwMajorVersion == 4)
ABS>#endif
ABS> {
ABS> if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
ABS> {
ABS> return FALSE;
ABS> }
ABS> return SetSystemPowerState (!bHibernate, bForce);
ABS> }
ABS> hInstPowrProf = LoadLibrary(TEXT("POWRPROF.DLL"));
ABS> if (!hInstPowrProf)
ABS> {
ABS> return FALSE;
ABS> }
ABS> pfnSetSuspendState =
ABS> (PFNSETSUSPENDSTATE)GetProcAddress(hInstPowrProf,
ABS> "SetSuspendState");
ABS> if (!pfnSetSuspendState) {
ABS> FreeLibrary (hInstPowrProf);
ABS> return FALSE;
ABS> }
ABS> bResult = pfnSetSuspendState((BOOLEAN)bHibernate, (BOOLEAN)bForce,
ABS> (BOOLEAN) bDisableWakeup);
ABS> FreeLibrary (hInstPowrProf);
ABS> return (BOOL) bResult;
ABS>}
ABS>
Насколько я понимаю, это всё для
спящего режима, а мне нужен
ждущий.
Здравствуйте, XaKeP, Вы писали:
XKP>Насколько я понимаю, это всё для спящего режима, а мне нужен ждущий.
SuspendComputer( FALSE, TRUE, FALSE );