0

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

if(SetWaitableTimer(hTimer, &liWhen, 0, NULL, NULL, TRUE))
{
    if(GetLastError() == ERROR_NOT_SUPPORTED)
    {
        //Waking is not supported
    }
}

我从本机桌面应用程序在 Windows 8 Pro 平板电脑上运行此代码,我得到 ERROR_NOT_SUPPORTED。如果我忽略它,平板电脑不会在我指定的时间唤醒。如果我从 Windows 7 桌面运行相同的代码,它每次都会唤醒。

请注意,同一台 Windows 8 平板电脑上的 Windows 任务计划程序的“唤醒计算机以运行此任务”选项也呈灰色显示,但本机 Windows 8 Metro 日历应用程序似乎可以正常工作并将此平板电脑从睡眠状态唤醒而没有任何问题。

Microsoft 是否改变了桌面应用程序在 Windows 8 上的行为方式?或者他们是否为管理器电源状态引入了新的 API?

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

4

0 回答 0