Вот код:
typedef BOOLEAN (WINAPI *SETSUSPENDSTATE)(BOOLEAN, BOOLEAN, BOOLEAN);
SETSUSPENDSTATE SetSuspendState = NULL;
BOOL CSuspendDlg::OnInitDialog()
{
...
if (!(m_hInstDll = LoadLibrary(_T("powrprof.dll"))) ||
!(SetSuspendState = (SETSUSPENDSTATE)GetProcAddress(
m_hInstDll, _T("SetSuspendState"))))
{
TCHAR buf[0xFF];
lstrcpy(buf, _T("Generic error was occured"));
MessageBox(buf, _T("Error starting program"), MB_ICONERROR);
EndDialog(-1);
return TRUE;
}
return TRUE;
}
void CSuspendDlg::OnSuspendBtnClick()
{
SetSuspendState(false, false, false);
}
BOOL CSuspendDlg::DestroyWindow()
{
FreeLibrary(m_hInstDll);
return CDialog::DestroyWindow();
}
Выполнение SetSuspendState к сожалению ни к чему не приводит. Но вот когда время приходит (Power options), то виндоус и монитор гасит, и диски отрубает... Для этого она же пользуется чем-то. Может по отдельности монитор, а потом диски? Но как? ЧиркнИте pls, если в курсе ;o)