我想制作一个批处理文件,使我的计算机在一段时间后进入睡眠状态。
我发现最接近的方法是将其置于待机状态,但似乎与键盘上的睡眠按钮的工作方式不同(启动时间更长,鼠标单击时不会唤醒)。有什么想法吗?用 Python 或 C# 会更容易吗?
上面提到的不太理想的技术是在 cmd 提示符中调用此命令:
Rundll32.exe powrprof.dll,SetSuspendState
答案1
只需命令
rundll32.exe powrprof.dll,SetSuspendState
系统是否休眠,但如果你这样写:
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
和关使用命令休眠:
powercfg -hibernate off
现在您的系统将进入睡眠状态,如果为其选择了一个设备,它将在鼠标移动时唤醒(向下滚动以了解如何操作)。
批量定时器:
timeout /t 1200
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
在哪里1200是秒,这意味着20分钟后批处理将运行睡眠命令。
您可以选择阻止取消倒计时(如果您在批处理窗口中按下任意键):
timeout /t 1200 /nobreak
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
关于使用鼠标唤醒的小指南:
去: 开始 -> 控制面板 -> 鼠标。
在鼠标中特性窗口中,单击硬件选项卡并从设备列表中选择鼠标。通常,这里只会列出一个鼠标,但这取决于您连接到计算机的硬件。从列表中选择鼠标后,单击特性按钮。
现在在特性鼠标窗口,单击更改设置按钮一般的标签。
在打开的窗口中,点击能源管理选项卡并选中标题为允许此设备唤醒计算机。 点击好的此窗口上的按钮,然后单击好的按钮鼠标属性仍处于打开状态的窗口。从现在起,您可以通过单击鼠标按钮或移动鼠标将 Windows 7 从睡眠模式唤醒。
答案2
shutdown /h
将使计算机进入休眠状态(但不确定是否暂停)。
答案3
有效的解决方案!
我不得不使用该PsShutdown
实用程序来允许正确睡眠(主要问题是SetSuspendState
不允许唤醒计时器唤醒机器)。我的睡眠批处理文件只有一行简单的代码:
PsShutdown -d -t 2
答案4
您可以尝试 SetSystemPowerState 以避免禁用 Hiberanate。
rundll32.exe kernel32.dll,设置系统电源状态
请注意,添加 1,0 或 1 0 甚至执行 Rundll32.exe powrprof.dll,SetSuspendState 0 0 1 或 Rundll32.exe powrprof.dll,SetSuspendState 0,0,1,参数 (0,0,1) 毫无意义。
powrprof.dll,SetSuspendState 不解析 rundll32 样式的参数,因此会忽略它们。这就是您必须禁用休眠的原因。