我想在晚上在我的 PC 上运行一个特定的噪音发生器 (mynoise.net),并让它运行一段时间,然后让 Windows 进入睡眠状态(我不想关闭 Windows,只是做与点击开始 > 电源 > 睡眠完全相同的事情)。
我还希望关闭显示器 - 尽管我不想使用它们的物理开关,因为这样做会开始移动窗口、重新配置主显示器等。编辑:我的意思是在睡觉前关闭显示器,这样当噪音发生器运行时,它们就不会在黑暗的房间里打扰我。
我尝试过简单地更改电源选项,其中有“关闭显示器”和“让计算机进入睡眠状态”的设置,但是
a) 然后我必须记得在第二天早上手动更改电源选项。我只想要一个一次性睡眠定时器。
b) 噪音生成器站点会阻止 Windows 进入睡眠状态(可能是设计使然)。因此我需要一些可以强制进入睡眠状态的东西,就像我通过“开始”菜单选择它一样。
有什么建议吗?也许是一些我还没找到的应用程序,或者像命令行指令这样的东西,我可以把它放在批处理文件中,或者用 AutoHotkey 触发?
答案1
- 单击“开始”
- 点击所有程序
- 单击附件 > 记事本
- 在记事本中复制并粘贴以下命令,然后在您喜欢的位置保存为 sleepcommand.bat。
rundll32.exe powrprof.dll,设置SuspendState 0,1,0
- 单击“开始”
- 点击所有程序
- 单击附件 > 系统工具 > 任务计划程序
- 打开任务计划程序后,您可以通过单击“创建基本任务”来创建自己的自定义任务。此操作将启动向导,引导您完成整个过程,提示您要执行的程序。指向您保存 sleepcommand.bat 的位置并设置时间表。
答案2
我编写了一个 AHK 脚本来执行我想要的操作:
; Monitors off and sleep [Win S]
;
#s::
MsgBox, 1, Sleep timer, Monitors will go off, and computer will sleep in 45 minutes. Press Win+Esc at any time to cancel script.
IfMsgBox Cancel
Return
Sleep 1000
; Turn off monitors
SendMessage, 0x112, 0xF170, 2,, Program Manager
; Pause for 45 minutes
Sleep 1000 * 60 * 45
; Put Windows to sleep
DllCall("PowrProf\SetSuspendState", "int", 0, "int", 0, "int", 0)
Return
; Cancel script [Win Esc]
#Esc::
MsgBox Cancelling AHK script.
Reload
Return