休眠是不可以唤醒的 是彻底断电 进程什么保存在硬盘一个空间
睡眠是保留微弱的供电 用这个
这个值在一台电脑是固定的 每次创建都不固定 (我下面设置了凌晨3点唤醒了 )
@echo off
:: 切换到高性能模式(从不睡眠)
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
:: 运行你的自动化程序
python 你的脚本.py
:: 切换回平衡模式(恢复10分钟睡眠)
powercfg /setactive 381b4222-f694-41f0-9685-ff5bb260df2e
立即睡眠 但是其实是休眠 自己再看看
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
rundll32.exe powrprof.dll,SetSuspendState Sleep
powercfg -h off
powercfg -h on #开启休眠
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
这个方法利用了你发现的"bug",通过暂时关闭休眠功能来强制系统执行睡眠。这个方法需要管理员权限,适合写在批处理脚本中。
| 部分 | 含义 |
|---|---|
rundll32.exe |
Windows 自带的程序,用来调用 DLL 文件里的函数 |
powrprof.dll |
Windows 电源管理相关的动态链接库 |
SetSuspendState |
powrprof.dll 里的一个函数,负责让电脑进入睡眠或休眠 |
0,1,0 |
三个参数,传给 SetSuspendState 函数 |
三个参数的含义
SetSuspendState(休眠, 强制, 通知)
| 参数位置 | 示例中的值 | 含义 |
|---|---|---|
| 第1个 | 0 |
0=睡眠,1=休眠 |
| 第2个 | 1 |
强制:是否强制立即进入,不询问程序是否准备好(1=强制) |
| 第3个 | 0 |
通知:是否通知正在运行的程序(0=不通知) |
但是我唤醒不了哎

可以查看休眠睡眠状态 记得关闭快速启动可能影响睡眠
powercfg /a
关闭"快速启动"功能
这个功能虽然能加快开机速度,但也是导致睡眠唤醒异常的常见原因之一。
-
打开"控制面板" > "硬件和声音" > "电源选项"。
-
点击左侧的 "选择电源按钮的功能"。
-
点击顶部的 "更改当前不可用的设置"。
-
在"关机设置"下方,取消勾选"启用快速启动(推荐)",然后点击"保存修改"

如何让指示灯在睡眠时重新亮起?
如果你还是希望有个指示灯提示电脑在睡眠,可以试试下面的方法,恢复成S1或S0待机模式。
1. 通过BIOS设置(最根本的方法)
这是最直接的方法,不同电脑的BIOS界面不太一样,但思路是相通的:
-
重启电脑 ,开机时连续按
Del、F2或F10键(具体按键看开机画面提示)进入BIOS。 -
找到 "Power Management"(电源管理)或类似的选项。
-
寻找 "Sleep Mode" 、"ACPI Suspend Type" 或 "Suspend to RAM" 等选项。
-
将其从
S3 (STR)改为S1 (POS)(Power On Suspend)或Auto。 -
按
F10保存并退出。
2. 调整Windows电源设置(常规方法)
-
打开 控制面板 > 硬件和声音 > 电源选项 ,点击当前电源计划旁边的 "更改计划设置"。
-
选择 "更改高级电源设置"。
-
在列表中找到 "睡眠" > "允许混合睡眠" ,将其设置为 "关闭",然后点击应用并确定。
-
这个设置可以禁止电脑进入最极端的省电模式,可能会让指示灯恢复。
3. 使用命令查看当前状态
你也可以在管理员命令行中输入 powercfg /a,再次确认系统支持哪些睡眠状态。如果你的BIOS中完全禁用了S1/S2,那么电脑就只能进入S3,指示灯自然就不亮了。
有的程序会阻止睡眠 远程软件肯定会阻止

方案二:永久解决(不让它们阻止睡眠)
如果你想保持这两个程序运行,但希望电脑仍能正常睡眠,可以用命令强制覆盖它们的请求。
以管理员身份运行 CMD,依次执行:
# 强制覆盖所有阻止睡眠的请求
powercfg /requestsoverride process "GameViewer.exe" execution
powercfg /requestsoverride process "python.exe" execution # 显示器
powercfg /requestsoverride process "python.exe" display
执行完后,可以再用 powercfg /requests 确认一下,应该会看到这些请求被覆盖了。
如果想撤销(恢复原来的行为):
powercfg /requestsoverride remove process "GameViewer.exe"
powercfg /requestsoverride remove process "python.exe"
先创建一个节能的睡眠计划

需要去控制面板设置时间
详细解释
| 你的操作/状态 | 计时器是否重置? |
|---|---|
| 移动鼠标 | ✅ 重置归零 |
| 敲击键盘 | ✅ 重置归零 |
| 点击触摸板/触摸屏 | ✅ 重置归零 |
| 正在播放视频(全屏) | ⚠️ 通常不会睡眠(系统会识别) |
| 正在下载文件(后台) | ❌ 不重置,因为无用户输入 |
| 软件正在运行但你没动鼠标 | ❌ 不重置,系统认为你"空闲" |
| 电脑被网络任务唤醒(如凌晨3点自动唤醒) | ❌ 不重置,因为没有用户输入 |
明白了,你只需要凌晨3点把电脑从睡眠中唤醒这一个动作,唤醒之后的事(手动执行任务、自动睡眠等)你另外处理。
那就非常简单,只需要在任务计划程序里创建一个只唤醒、不执行任何程序的任务即可。
具体步骤
第一步:启用唤醒定时器
-
打开「控制面板」→「硬件和声音」→「电源选项」
-
点击当前电源计划右侧的「更改计划设置」
-
点击「更改高级电源设置」
-
找到「睡眠」→「允许使用唤醒定时器」,设为「启用」
第二步:创建唤醒任务
-
按
Win + R,输入taskschd.msc,回车 -
右侧点击「创建任务」
-
「常规」选项卡:
-
名称填写:
凌晨3点唤醒 -
勾选「不管用户是否登录运行」 可不选这个 选这个密码自己不知道去控制面板设置密码
-
-
「触发器」选项卡:
-
点击「新建」
-
设置「每天」,时间
03:00:00 -
勾选「已启用」→ 确定
-
-
「操作」选项卡:
-
点击「新建」
-
操作选择「启动程序」
-
程序或脚本填写:
cmd.exe -
参数填写:
/c "exit"(这是一个什么都不做的命令) -
确定
-
-
「条件」选项卡:
-
勾选「唤醒计算机运行此任务」(最关键的一步)
-
其他所有选项都不要勾选
-
-
点击「确定」,输入你的Windows登录密码(如果需要)
完成。
使用前提
-
电脑在凌晨3点之前必须处于睡眠状态(不能是休眠或关机)
-
如果你是笔记本电脑,建议插电使用,避免电池耗尽
这样每天凌晨3点,电脑会自动从睡眠中醒来,之后保持正常运行,你可以手动执行任务或让它闲置后自动睡眠。