困扰多年的问题终于解决了,完全准确的一个都没找到,我谔谔
我的 Onedrive 备份了 TIM 的聊天记录,而 TIM 我是不会关掉的,所以每次关机时 Onedrive 都会阻止我关机,如果放着不动而不点击立即关闭的话,亲测一夜都关不了机😊。
后来在网上抄了一个注册表修改 AutoEndTasks
的,发现并没有什么用。还会额外出现点击关机后产生类似注销效果回到登录界面的情况。
最近多找了几个方法一起用上终于解决了。现在记录一下我进行修改的参数。
各种注册表项
首先,注册表是有多个用户的配置项的。
当前用户:
HKEY_CURRENT_USER\
所有用户:
HKEY_USERS\.DEFAULT\
理论上说 \.DEFAULT\
的配置应该会自动适用于所有用户,不过保险起见我还是给当前用户和默认用户都加上了
HKEY_USERS\.DEFAULT\Control Panel\Desktop
下可以添加如下注册表项,均为字符串值。
WaitToKillAppTimeout
执行关机命令后,Windows 将等待指定时间后开始对应用程序进行关闭操作。通俗的说就是给你一定时间对当前的工作/游戏进度进行保存。数值为毫秒。
HungAppTimeout
接上一条,如果进行关闭操作后程序没有给到响应,在指定时间后才会出现 强制关闭 选项,数值为毫秒。
AutoEndTasks
关机时出现 强制关闭 选项时候,等待一定时间后后自动关闭。值为 1
启用,0
或默认关闭。
对某些顽固的程序不起作用?
此外,在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
也有一个配置项
WaitToKillServiceTimeout
应该是用来关闭服务的,数值为毫秒。
方案
在注册表当前用户和默认用户的指定位置配置好上面所有项,打开几个会阻止关机的软件再测试关机,等待配置的时间后能直接关闭说明解决。
个人配置,所有用户均添加
WaitToKillAppTimeout
:5000
HungAppTimeout
:5000
AutoEndTasks
:1
WaitToKillServiceTimeout
:5000
我还额外启动了这一项,不过亲测如果上面的配置不对,就会一直卡在关机界面(但是可以用任务管理器切回去),请注意。
组策略——计算机配置——管理模板——系统——关机选项——关闭会阻止或取消关机的应用程序的自动中止功能
配置正确的话,启用该组策略可以看到程序一个个被干掉,很舒服😍
One comment
非常好教程,使我 XP 完美关机。