【问题标题】:How to wake up Windows 8.1 from connected standby programmatically如何以编程方式从连接待机唤醒 Windows 8.1
【发布时间】:2014-08-02 19:40:27
【问题描述】:

有没有办法以编程方式从连接待机唤醒 Windows 8.1?根据我的要求,可以使用商店应用后台任务或会话 0 服务。

我的场景是我有一个商店应用后台任务要定期调用(或由推送通知触发)。当调用后台任务时,它会检查是否满足某个条件。如果是这样,它应该执行一个操作来将设备从连接待机中唤醒。我需要退出 CS 的原因是我需要在满足条件时启动一个进程。这个过程将服务于一个 TCP 连接运行一段延长的时间。它有点像远程桌面服务器,它会根据连接请求自动唤醒,但通常处于连接待机状态以节省电量(设备使用电池供电)。

我想到的第一种方法是使用带有“唤醒计算机运行”选项的计划任务。但是根据this post的说法,在连接待机模式下它不会唤醒机器。

现在如果有办法以编程方式执行此操作,将其作为商店应用程序后台任务或会话 0 服务执行此操作是合乎逻辑的,这两者都有很短的运行机会在连接待机期间。但问题是 - 执行什么操作来退出连接待机?

根据Connected standby wake sources,各种外围硬件可以唤醒设备。例如,按下电源按钮通过 GPIO 中断唤醒设备。所以问题归结为有没有办法通过生成这样的 GPIO 中断来“模拟”按下电源按钮?我不太了解 Windows 内核/驱动程序编程。任何建议将被认真考虑。我认为这是一种可行的方法,因为WDTF method 可以将系统置于 CS 并在给定时间间隔后唤醒。

另一种看似可行的方法是将 toast 通知生成为“VoIP”应用程序。正如Introduction to Connected Standby 中提到的,锁屏应用程序安排的后台任务可以发送 toast 通知,ONLY 会在显示屏关闭的情况下发出短促的声音。只有在用户按下电源按钮后,才会显示吐司。所以我假设以这种方式生成 toast 不会唤醒设备。但是,该文档确实提到“VoIP”应用程序可以生成更长的 toast 通知、自定义铃声、AND 显示打开ON。我认为在这种情况下设备可能会被唤醒。但该文档没有提供任何关于如何编写此类“VoIP”应用程序的参考。

【问题讨论】:

    标签: windows windows-store-apps driver windows-8.1 standby


    【解决方案1】:

    您可以使用微控制器(例如 Arduino)或类似的东西(例如 Raspberry Pi)通过 USB 电缆模拟有效的 USB 事件(例如鼠标单击或按键),从而每 X 分钟唤醒一次 Windows 8.1。
    假设您的应用将 Windows 8.1 转回待机模式。

    【讨论】:

    • 这是不可取的。要求的重点是节省电池。现在我需要花费额外的电池来为 Always-On 设备供电,RPy 比 Arduino 更差。此外,我的 Windows 设备必须经常定期唤醒。如果有一种方法可以通过代码唤醒设备,那么它将能够在功耗方面达到最佳状态,因为当我们确定需要唤醒时,可以通过推送通知调用代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 2012-07-29
    • 2014-12-01
    • 2011-03-19
    • 2015-04-10
    相关资源
    最近更新 更多