Позвольте мне объяснить мою проблему о:SetSuspendState (API) никогда не возвращается в Win8
В моем проекте VC++ Я хочу, чтобы вставить логику, чтобы отправить мою систему (Windows 8) Спать состояние программно & резюме обратно.
Я делаю это так (Копирование фрагмента кода) ::
int wait = 100;
LARGE_INTEGER WaitTime;
WaitTime.QuadPart = wait;
WaitTime.QuadPart *= -10000000;
HANDLE hTimer = CreateWaitableTimer(NULL, FALSE, NULL);
if(0 == SetWaitableTimer(hTimer, &WaitTime, 0, NULL, NULL, TRUE))
{
res = false;
return res;
}
if(0 == SetSuspendState(FALSE, FALSE, FALSE))
{
res = false;
return res;
}
Система собирается спать (монитор становится выключен).
Здесь я хочу вернуться из состояния сна после вызова API SetSuspendState(). Но я вижу, что вызов SetSuspendState() совсем не возвращается. Элемент управления будет поражен этим вызовом SetSuspendState() & не возвращается.
Однако, если я принудительно верну систему обратно к власти, я вижу, что она возвращается, но функция «SetSuspendState()» не возвращается обратно в мой код.
Может кто-нибудь, пожалуйста, помогите мне выяснить, почему SetSuspendState() не возвращается обратно & как исправить эту проблему. Заранее спасибо.
PS: Я использую VS удаленный отладчик для достижения этого состояния сна.
Да, удаленный отладчик VS был проблемой. Но я вижу, что API SetSuspendState() не заставляет систему спать. Вместо этого он спящий. Было бы очень полезно, если бы я знал, как заставить систему спать и как я программирую свой код, чтобы он автоматически возвращался из сна через некоторый промежуток времени? – codeLover
Думаю, вам нужно задать новый вопрос. Я не могу помочь вам прямо сейчас, и никто, кроме меня, не прочтет ваш комментарий. –