Repository navigation
v0.4.0
Pre-release
Pre-release
DeepSleep For Windows(Beta) 0.4.0
这个版本把几处根子上的问题改了。
不用管理员权限也能打开
以前双击打不开、必须右键「以管理员身份运行」,是因为程序一启动就管 Windows 要管理员权限,被拒绝之后就没有窗口了。
现在窗口本身就是普通权限运行,不再要权限。只有装后台服务、改电源计划内容、关遥测这几个动作才提权,而且只是弹一个只做那一件事的小进程,窗口留在原地等你。
程序有一份自己的副本
任务里写死的是那份副本的路径,不是你下载的那个文件。
以前你从下载文件夹跑起来,任务就指着「下载」文件夹里的 exe。你把下载清空了,后台就没了,而且没有任何提示。
现在程序启动时会把自身复制到 %LOCALAPPDATA%\DeepSleepForWindows\app\,用 SHA-256 判断副本是不是当前这个版本:不一样就替换,一样就不动。任务永远指这个固定路径。
后台不会莫名其妙消失
计划任务改成用 XML 注册,多写了这几项:
- 任务停了自动重启,一分钟后再来,最多十次
- 不设运行时长上限(默认是三天,到点就杀,看起来就像自己消失)
- 电池供电时也照常运行
- 不允许同时跑两份
- 错过启动时间的话,一有机会就补上
守护进程用 SYSTEM 身份注册,开机就起,不用等人登录。代理和托盘用当前登录用户。
托盘图标
以前的任务写的是「登录时启动」,而你装的时候早就登录过了,所以它要等到下次开机才会出现。
现在装完立刻启动三个任务。窗口里也会直接告诉你图标到底起来没有。
微软遥测
系统页多了一个开关,关掉就是真关:
- 注册表策略全部写成禁止
- DiagTrack 等相关服务停掉并设为禁用
- 遥测域名写进 hosts 屏蔽
- 计划任务里相关的也禁用
打开或关闭都是即时生效,不需要重启。开关的状态是从机器上读回来的,不是记着「你点过」。
读取这些状态全部走结构化接口(注册表、服务管理器、任务 XML),不解析 sc query 或 schtasks 的输出,所以中文系统的结果和英文系统一样准。
其它
- 新增
task-xml命令,可以导出计划任务的 XML 看它到底会做什么 - 新增
start/stop命令 selftest会同时检查托盘图标能不能画出来- 命令行输出不再在中文系统上乱码
- 构建和测试全部在 GitHub Actions 上跑,CI 会真的把任务 XML 交给调度器验证一遍,也会验证程序副本确实被复制出来