我把360里真正用得到的功能拆出来,做个轻量工具

目录

1、先把边界定死

2、磁盘清理不能只追求删得多

3、启动项管理要全面,但动作要保守

4、安全管理只做系统内置能力能支撑的事

5、细节设计


作为一名嵌入式工程师,电脑对我来说不是单纯的办公设备,更像一张实验台。

Keil、VS Code、串口工具、逻辑分析仪软件、CAN 工具、JLink、Python 脚本、芯片 SDK、资料文档,一天里这些东西会反复打开。开发机一旦变慢,影响的不是"体验",而是调试节奏。

以前我也用过 360 这类工具。它们确实能做 C 盘清理、启动项管理和安全检查,但对我的开发机来说,问题也明显:安装后占内存,功能太多,广告和推荐不少,有些动作还依赖网络,偶尔还会带一些我并不需要的东西。

我真正需要的功能其实很少。

  • 清理磁盘,尤其是 C 盘。
  • 管理开机启动项。
  • 做一些基础安全检查。
  • 不安装驱动。
  • 不常驻后台。
  • 不依赖网络。
  • 不加广告。
  • 不做全家桶。

市面上一些 C 盘清理工具还要收费。想了想,这件事不复杂,至少我需要的那一部分不复杂。于是我自己写了一个 Windows 平台的小工具,叫 Windows Care Lite。

它不是安全软件,也不是系统管家。它只做三件事:磁盘清理、开机启动项管理、安全管理。

资源下载链接:https://download.csdn.net/download/m0_38106923/92960183

1、先把边界定死

这个工具最重要的设计,不是功能,而是边界。

我不想写一个新的"管家软件"。如果一个维护工具自己要安装服务、常驻后台、联网推荐、弹窗提醒,那它就开始变成我原本想避开的东西。

所以 Windows Care Lite 的边界很清楚。

设计项 选择
运行方式 双击 bat 启动 PowerShell 脚本
界面 Windows 自带 WinForms
权限 需要时请求管理员权限
安装 不安装
驱动 不安装
后台 不常驻
网络 不依赖
杀毒能力 调用系统自带 Defender 或 MSE

整体结构很简单。

我选择 PowerShell + WinForms,是因为它足够轻。Windows 本身就带这些能力,不需要额外运行时,也不需要写安装包。对一个工具来说,少一层依赖,就少一层风险。

这点和嵌入式开发很像:能不用外设就不用,能少一个任务就少一个任务,能不进中断就不进中断。

2、磁盘清理不能只追求删得多

清理工具最容易诱导用户的地方,是显示一个很大的可清理空间。

但 C 盘不是垃圾桶。很多目录看起来能删,实际有风险。比如 Windows.old 能释放很多空间,但删掉后就失去了系统回滚能力;Windows Update 缓存可以清,但更新过程中清理可能出问题;下载目录里的安装包、压缩包,也可能是项目资料或客户交付文件。

所以我把清理项做成带风险属性的对象,而不是简单路径列表。

每个清理目标都至少包含这些信息。

字段 作用
清理级别 安全、标准、深度
风险等级 低、中、高
路径 让用户知道删哪里
文件数量 估算影响范围
预计空间 估算收益
管理员权限 提前提示权限要求
默认勾选 高风险项默认不勾选
说明 告诉用户后果

我把清理分成三档。

级别 内容 策略
安全 用户临时文件、缩略图缓存、7 天以上 Windows Temp 默认可选
标准 回收站、浏览器缓存、更新下载缓存、错误报告、显卡缓存 用户确认
深度 Windows.old、DISM、旧安装包、重复文件、大文件、CompactOS 默认不勾选或只复查

深度清理里,我刻意把很多项目做成"候选",不是"自动删除"。

比如旧安装包、旧压缩包、未完成下载、大文件、重复文件。这些东西在普通电脑上可能是垃圾,在工程师电脑上可能是固件包、SDK、历史版本、客户资料。

非系统盘也一样。我没有按扩展名全盘删除用户文件,只处理明确识别出的缓存目录、临时目录、回收站、旧系统目录和人工复查候选。

这是一条很重要的原则:宁愿少清一点,也不要替用户误删。

3、启动项管理要全面,但动作要保守

很多人以为开机启动项就是注册表 Run。实际上 Windows 的启动入口很多。

这个工具扫描了这些位置。

来源 说明 自动处理策略
HKCU/HKLM Run 常见注册表启动项 可禁用和恢复
Startup 文件夹 用户和全局启动目录 可移动和恢复
计划任务 登录或开机触发 可切换启用状态
Active Setup 用户环境初始化 只分析
Winlogon 登录流程关键位置 只分析
自动服务 服务型自启动 只分析

这里有两个设计点。

第一,扫描要尽量全。

如果只看 Run 注册表,会漏掉很多计划任务、服务项和脚本类启动项。很多软件不一定把自己放在最显眼的位置。

第二,禁用要保守。

系统、驱动、安全、硬件相关组件默认建议保留;更新器、托盘、聊天软件、网盘、启动器这类,给出"可按需关闭";脚本、临时目录、未知来源、系统解释器相关命令,提示"建议检查"。

我不希望工具替用户做决定,所以每个建议都要显示原因。比如它是更新器、托盘程序、脚本项,还是系统组件。

禁用动作也必须可恢复。注册表启动项不是删除,而是移动到备份键;启动文件夹里的文件不是删除,而是移到禁用目录;计划任务只是关闭启用状态。

系统工具最怕"清理得很彻底"。很多时候,可恢复比彻底更重要。

4、安全管理只做系统内置能力能支撑的事

我没有自研杀毒,也没有做云查杀。

个人工具不适合维护病毒库,更不应该随便上传用户文件。安全管理模块只做保守体检,调用 Windows 本身已有的能力。

它主要检查这些项目。

类别 检查内容
杀毒防护 Defender 或 Microsoft Security Essentials 状态
防火墙 域、专用、公用配置文件是否开启
漏洞补丁 Windows Update、BITS 服务和待安装更新
系统加固 UAC、远程桌面、SMB1、移动介质自动运行

安全页的流程是:

防火墙关了,就启用防火墙;Windows Update 服务停了,就启动服务;UAC 关了,就恢复注册表配置;远程桌面不需要,就关闭;SMB1 开着,就提示关闭。

如果是系统更新,工具不会自己下载补丁,而是打开 Windows Update,让系统自己处理。

这不是偷懒,而是边界。能交给系统原生能力处理的,就不要自己写一套更危险的逻辑。

5、细节设计

真正花时间的地方,其实不是界面。

是这些细节。

细节 目的
清理前先扫描估算 防止直接误删
高风险项默认不勾选 不替用户做危险决定
相关软件自动关闭 清理浏览器缓存、WebCache 等目录时减少占用
外部命令超时 防止 chkdsk、defrag、DISM 卡住
模块独立 Busy 状态 防止重复点击导致状态错乱
UI 日志节流 避免日志过长拖慢界面
异常写入日志 方便定位问题
启动项可恢复 降低误操作成本

这些设计不显眼,但决定工具能不能长期用。

嵌入式里我们很熟悉这种感觉。一个功能跑起来不难,难的是异常路径、边界条件、恢复流程、超时兜底。写 Windows 小工具也是一样。

我写 Windows Care Lite 的原因很简单。

我想要一个干净的维护工具。开发机慢了,能清理缓存;开机慢了,能看启动项;安全配置异常了,能快速检查。除此之外,它不要常驻,不要广告,不要联网推荐软件,也不要替我做没确认过的决定。

对嵌入式工程师来说,开发机就是实验台。实验台上的工具应该顺手、可靠、可控。

用的时候拿起来,用完放回去。

少做一点,但把真正需要的几件事做稳。

资源下载链接:https://download.csdn.net/download/m0_38106923/92960183

相关推荐
踏着七彩祥云的小丑2 小时前
嵌入式测试学习第 31 天:兼容性测试:版本兼容、外设兼容、硬件版本兼容
单片机·嵌入式硬件·学习
QK_002 小时前
EEPROM和W25Q64
stm32
yongui478342 小时前
基于 STM32F103ZET6 的循轨避障蓝牙小车
stm32·单片机·嵌入式硬件
kebidaixu2 小时前
FreeRTOS 移植到 STM32F407VETX 记录(五)
stm32·单片机·嵌入式硬件
listhi5203 小时前
基于单片机的步进电机控制系统
单片机·嵌入式硬件
灯琰13 小时前
STM32L051K6U6 IAP要点记录-LL库
stm32·单片机·嵌入式硬件
MAR-Sky3 小时前
stc8h系列单片机使用中断号超过32的插件解决办法
单片机·嵌入式硬件
kebidaixu4 小时前
FreeRTOS 移植到 STM32F407VETX 记录(四)
stm32