最近遇到电脑无法自动睡眠的问题,网上找到了解决方法,分享一下。
发现是音频一直被占用,阻止电脑睡眠,是浏览器打开的网页、或某些软件占用着音频。
解决方法:
Win+R运行输入cmd打开命令行窗口
查询哪些进程、服务、驱动阻止计算机进入睡眠:powercfg /requests
看到是音频被占用着,用powercfg /requestsoverride命令忽略掉音频阻止睡眠的请求,输入以下两条命令,引号中的内容替换成powercfg /requests显示的音频名字或驱动程序路径,两条都输入才会有效果
powercfg /requestsoverride DRIVER "Conexant SmartAudio HD" SYSTEM
powercfg /requestsoverride DRIVER "HDAUDIO\FUNC_01&VEN_14F1&DEV_510F&SUBSYS_17AA502A&REV_1001\4&f35eced&0&0001" SYSTEM
请求者类型有3种,SERVICE PROCESS DRIVER (服务、进程、驱动),出现在powercfg /requests运行后的SYSTEM、Display、Awaymode等下方,显示为[Driver]、[PROCESS]、[SERVICE]。
如果是因为某个软件占用,可以用此命令会忽略掉chrome阻止睡眠的请求,名称加引号更保险。
举例:powercfg /requestsoverride PROCESS "chrome.exe" system
重写之后,可以运行以下命令查看已经重写的电源请求列表
powercfg /requestsoverride
如果需要恢复电源需求,让其继续阻止电脑进入睡眠,输入以下两条命令
powercfg /requestsoverride DRIVER "Conexant SmartAudio HD"
powercfg /requestsoverride DRIVER "HDAUDIO\FUNC_01&VEN_14F1&DEV_510F&SUBSYS_17AA502A&REV_1001\4&f35eced&0&0001"
可能会用到的一些命令:
查看上次唤醒电脑的设备
powercfg /lastwake
查询所有可以唤醒电脑的设备
powercfg -DEVICEQUERY wake_armed
列出可以唤醒电脑的所有硬件设备
powercfg /devicequery wake_programmable
枚举活动的唤醒计时器。 如果已启用,则唤醒计时器计时结束时,会将系统从睡眠和休眠状态唤醒。
powercfg /waketimers
任务计划程序:taskschd.msc
系统日志:eventvwr.msc
组策略:gpedit.msc
参考内容:微软官方文档Powercfg命令行选项