Windows 10 不断从睡眠状态唤醒

Windows 10 不断从睡眠状态唤醒

自从我升级到 Windows 10 以来,我的电脑就经常从睡眠状态中醒来。它通常会睡眠数小时后才被唤醒。这是一台台式电脑。

C:\WINDOWS\system32>powercfg lastwake
Wake History Count - 1
Wake History [0]
  Wake Source Count - 0

C:\WINDOWS\system32>powercfg -devicequery wake_armed
NONE

我已在高级电源设置下禁用“允许睡眠定时器”。

自动维护“允许计划维护在计划的时间唤醒我的计算机”未选中。

“任务计划程序”下的“唤醒计算机以运行此任务”对于所有任务均未选中。

我没有安装 TeamViewer,是这个家伙的问题

有谁知道是什么唤醒了我的 PC,或者我该怎么做才能识别它?或者是否有任何方法可以强制 PC 进入睡眠状态,无论如何,直到我按下电源按钮?

答案1

“唤醒魔术包”选项可能会打开计算机(如果有人/某物正在 ping 计算机)。通过设备管理器解决此问题,而不是通过网络和共享中心(请参阅下面的说明)。

脚步:

  1. 打开“设备管理器”
  2. 打开“网络适配器”树
  3. 选择您的适配器(如果您同时具有无线和以太网功能,则可能有两个)
  4. 右键单击适配器
  5. 选择“属性”
  6. 选择“高级”选项卡
  7. 在“属性”框下,向下滚动并选择“魔包唤醒”
  8. 将“值”下拉框更改为“已禁用”

说明:您可以通过选择屏幕左侧的“更改适配器设置”进入“网络和共享中心”;选择适配器的“属性”;选择“配置”;然后转到“电源管理”选项卡。然而我注意到我的一些电脑(包括 Windows 7)上“电源管理”选项卡中的魔术包选项将变灰或未选中,但在“高级”选项卡中将处于“启用”状态

使用设备管理器路径解决了我的笔记本电脑从睡眠状态意外唤醒的问题。祝你好运。

答案2

我也遇到了同样的问题。所有配置都正确,但即使唤醒定时器被禁用,PC 仍会继续唤醒,并且更新也不允许唤醒 PC。几天后,我发现 Spotify 最近(上个月)发生了变化,并添加了唤醒定时器!

在 Windows 10 上,电源设置中的“允许唤醒定时器->已禁用”选项被忽略(至少,它没有执行应执行的操作:阻止唤醒定时器将 PC 从睡眠状态唤醒!)。因此,Spotify 在打开 Spotify 后设置的唤醒定时器实际上导致我的 PC 从睡眠状态唤醒。

如果您使用的是最新版本的 Spotify,这也可能是导致问题的原因。您可以通过此代码删除 spotify 唤醒定时器 (来源

taskkill /IM Spotify.exe /T /F
taskkill /IM SpotifyCrashService.exe /T /F
taskkill /IM SpotifyWebHelper.exe /T /F

将代码放入 BAT 脚本中,并在将 PC 转入睡眠状态之前运行它。您也可以添加此代码(来源

rundll32.exe powrprof.dll,SetSuspendState 0,1,0

使用同一个 bat 文件让你的电脑进入睡眠状态(节省一点时间)

答案3

您确定它处于睡眠模式并且没有崩溃吗?Windows 10 + nVidia = TDR 仍然……他们还没有解决这个问题(至少对于只有专用 GPU 的系统)
第一步,卸载 P4G,重新启动,将所有电源值更改为您选择的值,确保您选择了正确的电源选项,重新启动,测试。
顺便说一句,在 Windows 10 上,这些选项有两个区域。一个是我们都知道的典型电源配置,另一个是在开始菜单中的“设置”选项中。检查两者。

答案4

我的电脑在最新的 Windows 10 更新后开始出现这种情况;15 分钟未使用后立即进入睡眠状态,如预期的那样,但 5 或 10 分钟后它再次启动,并且该循环持续一整天。希望这个批处理文件对您有所帮助。

电源睡眠.bat:

@echo off
&mode 32,2 &color cf &title Power Sleep
set "s1=$m='[DllImport ("Powrprof.dll", SetLastError = true)]"
set "s2=static extern bool SetSuspendState(bool hibernate, bool forceCritical, bool disableWakeEvent);"
set "s3=public static void PowerSleep(){ SetSuspendState(false, false, false); }';"
set "s4=add-type -name Import -member $m -namespace Dll; [Dll.Import]::PowerSleep();"
set "ps_powersleep=%s1%%s2%%s3%%s4%" 
call powershell.exe -NoProfile -NonInteractive -NoLogo -ExecutionPolicy Bypass -Command "%ps_powersleep:"=\"%"
exit

相关内容