我的问题是我之前的问题“ SetSuspendState() API 在 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(假,假,假)
任何人都可以帮助我解决这个问题以及如何让我的系统“以编程方式进入睡眠状态并自动从睡眠状态恢复,而无需手动“鼠标点击或键盘敲击”。