如何以编程方式从连接的备用数据库唤醒Windows 8.1

时间:2014-08-02 19:40:28

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

有没有办法以编程方式从已连接的备用数据库唤醒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 会在显示屏关闭的情况下生成短暂的声音。只有在用户按下电源按钮后才会显示吐司。因此,我假设以这种方式生成吐司不会唤醒设备。但是,该文件确实提到了" VoIP"应用可以使用更长的自定义铃声生成Toast通知, AND 并且显示器已启用 ON 。我认为在这种情况下可能会唤醒设备。但该文件并没有提供任何关于这类" VoIP"应用程序是写的。

1 个答案:

答案 0 :(得分:0)

您可以使用微控制器(例如Arduino)或类似的东西(例如Raspberry Pi)通过USB线模​​拟有效的USB事件(如鼠标点击或按键),每隔X分钟唤醒Windows 8.1。
假设您的应用程序将Windows 8.1恢复为待机模式。