我正在尝试构建一个程序,让您可以在用户定义的时间段后关闭计算机或让计算机进入睡眠状态。
我关闭电脑没有问题,但很难让它进入睡眠状态(例如 60 分钟后)
我有让计算机进入睡眠状态的命令,但是我很难设置程序在发生这种情况之前等待的时间:
powercfg -h off & start /min "" C:\WINDOWS\System32\rundll32.exe PowrProf.dll,SetSuspendState 0,1,0 & ping -n 3 127.0.0.1 > nul & powercfg -h on & 退出
请给我指出正确的方向。
答案1
你的问题跟python关系不大,因为你在Windows命令行中给出的命令,包括临时的计时器。查看你展示的代码,它只是一堆用&串在一起的命令行命令。。。
powercfg -h off & start /min "" C:\WINDOWS\System32\rundll32.exe PowrProf.dll,SetSuspendState 0,1,0 & ping -n 3 127.0.0.1 > nul & powercfg -h on & exit
分解一下,该命令执行以下操作:
powercfg -h off
:关闭休眠模式start /min "" C:\WINDOWS\System32\rundll32.exe PowrProf.dll,SetSuspendState 0,1,0
- 我对此不是 100% 确定:让计算机进入睡眠状态ping -n 3 127.0.0.1 > nul
:这是 Windows 的一个常见计时器黑客,它基本上会引入 3 秒的延迟;我猜这是为了处理系统从睡眠状态唤醒时的一些计时问题,因为这个命令直到你重新唤醒时才会运行powercfg -h on
:重新启用休眠模式exit
:退出批处理文件。
所以,这里没有延迟。。。要在 Python 中添加延迟,您可以使用时间模块的睡眠功能. 一些示例代码如下:
import time
# Wait 10 seconds before running the next command
delay = 10
time.sleep(delay)
print "hi . . . it's been {0} seconds!".format(delay)