Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Windows 8平板电脑上的SetWaitableTimer失败,错误\u不受支持_C++_Windows_Winapi_Windows 8_Power Management - Fatal编程技术网

C++ Windows 8平板电脑上的SetWaitableTimer失败,错误\u不受支持

C++ Windows 8平板电脑上的SetWaitableTimer失败,错误\u不受支持,c++,windows,winapi,windows-8,power-management,C++,Windows,Winapi,Windows 8,Power Management,我设置了一个可等待计时器,以便在预定义的时间唤醒窗口,如下所示: if(SetWaitableTimer(hTimer, &liWhen, 0, NULL, NULL, TRUE)) { if(GetLastError() == ERROR_NOT_SUPPORTED) { //Waking is not supported } } 我从本机桌面应用程序在Windows 8 Pro平板电脑上运行此代码,但出现错误\u不受支持。如果我忽略它,平板电

我设置了一个可等待计时器,以便在预定义的时间唤醒窗口,如下所示:

if(SetWaitableTimer(hTimer, &liWhen, 0, NULL, NULL, TRUE))
{
    if(GetLastError() == ERROR_NOT_SUPPORTED)
    {
        //Waking is not supported
    }
}
我从本机桌面应用程序在Windows 8 Pro平板电脑上运行此代码,但出现错误\u不受支持。如果我忽略它,平板电脑就不会在我指定的时间唤醒。如果我在Windows7桌面上运行相同的代码,它每次都会被唤醒

请注意,同一台Windows 8平板电脑上的Windows任务计划程序的“唤醒计算机以运行此任务”选项也会变灰,但本机Windows 8 Metro日历应用程序似乎可以正常工作&将此平板电脑从睡眠中唤醒,而不会出现任何问题

微软是否改变了Windows 8上桌面应用程序的行为方式?或者他们是否向manager电源状态引入了新的API


编辑从Microsoft找到关于桌面活动主持人的“gem”。当Windows 8处于新的“连接待机”模式时,它显然会挂起所有不作为服务运行的桌面应用程序。它没有回答的是如何设置计时器以退出该模式。Metro应用程序可以做到这一点,但桌面应用程序呢?

您在控制面板中启用了它吗?转到
所有控制面板项目\电源选项\编辑计划设置
,然后单击
更改高级电源设置
,并在树中展开
睡眠
,以启用
允许唤醒计时器
@RogerRowland:尝试过了。高级电源选项中没有计时器。此外,在cmd中执行
powercfg/waketimers
将返回0个计时器。同时,平板电脑可以从Metro日历应用程序中唤醒。