私の質問は、以前の質問「SetSuspendState() API never return in Win8」の続きです。
Win8/Win8.1 m/c で VC++ コードを実行しています。
私の目的は、システムをスリープ状態にし、手動で「マウスをクリックまたはキーボードを押す」ことなく、自動的にシステムをスリープ状態から戻すことです。しかし、「システムをスリープ状態にするため、もちろんシステムをスリープ状態に戻さない」ことはできません。以下の呼び出し SetSuspendState() を使用すると、システムはスリープではなく常に休止状態になります。
クイック リファレンス用にコード スニペットを再度貼り付けます::
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;
}
ここでは、「SetSuspendState() API を呼び出して、システムをスリープ状態にし、自動的にスリープ状態に戻すオプションを指定していますが、システムは休止状態に移行するだけです::
SetSuspendState(FALSE, FALSE, FALSE)
誰でも親切にこの問題を解決するのを手伝ってくれますか & どうすればシステムを "プログラム的にスリープ状態にし、手動の "マウス クリックまたはキーボード ヒット" なしで自動的にスリープ状態から復帰できますか?