让我解释一下我的问题陈述:
在我的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;
}
系统将进入休眠状态(显示器已关闭) 在这里,我想在SetSuspendState()API调用之后从睡眠状态恢复。 但是我看到SetSuspendState()调用根本没有返回。该控件将在此SetSuspendState()调用本身&不回来。
但是,如果我强行将系统恢复供电,我会看到它回来,但函数“SetSuspendState()”不会在我的代码中返回。
任何人都可以帮我弄清楚为什么SetSuspendState()没有返回&如何解决这个问题。提前致谢。
PS:我正在使用VS远程调试器机制来实现这种睡眠状态。答案 0 :(得分:3)
我想调用SetSuspendState
会导致远程调试服务器关闭。当您致电SetSuspendState
时,系统会启动关机,并涉及通知所有应用程序系统正在停机。当发生这种情况时,预计这些应用程序将终止。因此,您可能会失去与远程调试器的连接。