在 Python 2.7 中将 Windows PC 从睡眠中唤醒

Wake Windows PC from sleep in Python 2.7

我有一个脚本可以让系统在运行过程中进入睡眠状态。有没有办法让那个脚本唤醒系统然后继续运行?

我已经阅读了很多通过局域网唤醒或使用任务计划程序来执行此操作的迂回方法。我正在寻找可以在一段时间后或脚本的特定部分完成后将其唤醒的东西。我需要这个才能为 Windows 7、8.1 和 10 工作。

有人知道在仍然 运行 脚本的情况下从睡眠中醒来的方法吗?

这取决于您如何让系统进入睡眠状态。如果使用 SetSuspendState (with the last argument being FALSE to allow wake-up events), then you can schedule a future wake-up using CreateWaitableTimer followed by SetWaitableTimer.

相应的 Python 实现使用 ctypes 非常简单,或者,如果您想要更多 pythonic、pywin32.

希望对您有所帮助!

我无法仅使用 python 完成此操作。然而,在 Windows SDK 中,他们提供了一个名为 pwrtest 的工具,可以让您进行定时睡眠周期。我可以用 python 调用它,然后当 pwrtest 将 PC 从睡眠中唤醒时我的脚本继续。