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

KFL*_*KFL 7 windows driver standby windows-store-apps windows-8.1

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

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

我想到的第一种方法是使用"唤醒计算机运行"选项的计划任务.但根据这篇文章,在连接待机模式下它不会唤醒机器.

现在,如果有一种方法可以通过编程方式执行此操作,那么将其作为商店应用程序后台任务或会话0服务来执行此操作将是合乎逻辑的,这两者都可以在连接待机期间短暂运行.但问题是 - 退出连接待机时要执行哪些操作?

根据Connected备用唤醒源,各种外围硬件可以唤醒设备.例如,按下电源按钮可通过GPIO中断唤醒设备.所以问题归结为有没有办法通过产生这样的GPIO中断来"模拟"按下电源按钮?我对windows内核/驱动程序编程了解不多.任何建议将被认真考虑.我认为这是一种可行的方法,因为这种WDTF方法可以将系统放入CS并在给定间隔后唤醒.

另一种看似可能的方法是将"吐司通知"生成为"VoIP"应用.如连接待机简介中所述,锁定屏幕应用程序安排的后台任务可以发送Toast通知,该通知在显示器关闭时生成短声音.只有在用户按下电源按钮后才会显示吐司.所以我假设以这种方式生成吐司不会唤醒设备.然而,这份文件确实提到"网络电话"应用程序可以生成Toast通知较长,自定义铃声,与显示器变成ON.我认为在这种情况下可能会唤醒设备.但该文件未提供有关如何编写此类"VoIP"应用程序的任何参考.

m13*_*13r 0

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