我把360里真正用得到的功能拆出來,做個(gè)輕量工具

目錄

1、先把邊界定死

2、磁盤清理不能只追求刪得多

3、啟動(dòng)項(xiàng)管理要全面,但動(dòng)作要保守

4、安全管理只做系統(tǒng)內(nèi)置能力能支撐的事

5、細(xì)節(jié)設(shè)計(jì)


作為一名嵌入式工程師,電腦對(duì)我來說不是單純的辦公設(shè)備,更像一張 實(shí)驗(yàn) 臺(tái)。

Keil、VS Code、串口工具、邏輯分析儀軟件、CAN 工具、JLink、Python 腳本、芯片 SDK 、資料文檔,一天里這些東西會(huì)反復(fù)打開。開發(fā)機(jī)一旦變慢,影響的不是“體驗(yàn)”,而是調(diào)試節(jié)奏。

以前我也用過 360 這類工具。它們確實(shí)能做 C 盤清理、啟動(dòng)項(xiàng)管理和安全檢查,但對(duì)我的開發(fā)機(jī)來說,問題也明顯:安裝后占內(nèi)存,功能太多,廣告和推薦不少,有些動(dòng)作還依賴網(wǎng)絡(luò),偶爾還會(huì)帶一些我并不需要的東西。

我真正需要的功能其實(shí)很少。

  • 清理磁盤,尤其是 C 盤。
  • 管理開機(jī)啟動(dòng)項(xiàng)。
  • 做一些基礎(chǔ)安全檢查。
  • 不安裝驅(qū)動(dòng)。
  • 不常駐后臺(tái)。
  • 不依賴網(wǎng)絡(luò)。
  • 不加廣告。
  • 不做全家桶。

市面上一些 C 盤清理工具還要收費(fèi)。想了想,這件事不復(fù)雜,至少我需要的那一部分不復(fù)雜。于是我自己寫了一個(gè) Windows 平臺(tái)的小工具,叫 Windows Care Lite。

它不是安全軟件,也不是系統(tǒng)管家。它只做三件事:磁盤清理、開機(jī)啟動(dòng)項(xiàng)管理、安全管理。

資源下載鏈接:https://download.csdn.net/download/m0_38106923/92960183

1、先把 邊界 定死

這個(gè)工具最重要的設(shè)計(jì),不是功能,而是邊界。

我不想寫一個(gè)新的“管家軟件”。如果一個(gè)維護(hù)工具自己要安裝服務(wù)、常駐后臺(tái)、聯(lián)網(wǎng)推薦、彈窗提醒,那它就開始變成我原本想避開的東西。

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

設(shè)計(jì)項(xiàng) 選擇
運(yùn)行方式 雙擊 bat 啟動(dòng) PowerShell 腳本
界面 Windows 自帶 WinForms
權(quán)限 需要時(shí)請(qǐng)求管理員權(quán)限
安裝 不安裝
驅(qū)動(dòng) 不安裝
后臺(tái) 不常駐
網(wǎng)絡(luò) 不依賴
殺毒能力 調(diào)用系統(tǒng)自帶 Defender 或 MSE

整體結(jié)構(gòu)很簡(jiǎn)單。

我選擇 PowerShell + WinForms,是因?yàn)樗銐蜉p。Windows 本身就帶這些能力,不需要額外運(yùn)行時(shí),也不需要寫安裝包。對(duì)一個(gè)工具來說,少一層依賴,就少一層風(fēng)險(xiǎn)。

這點(diǎn)和嵌入式開發(fā)很像:能不用外設(shè)就不用,能少一個(gè)任務(wù)就少一個(gè)任務(wù),能不進(jìn) 中斷 就不進(jìn)中斷。

2、磁盤清理不能只追求刪得多

清理工具最容易誘導(dǎo)用戶的地方,是顯示一個(gè)很大的可清理空間。

但 C 盤不是垃圾桶。很多目錄看起來能刪,實(shí)際有風(fēng)險(xiǎn)。比如 Windows.old 能釋放很多空間,但刪掉后就失去了系統(tǒng)回滾能力;Windows Update 緩存可以清,但更新過程中清理可能出問題;下載目錄里的安裝包、壓縮包,也可能是項(xiàng)目資料或客戶交付文件。

所以我把清理項(xiàng)做成帶風(fēng)險(xiǎn)屬性的對(duì)象,而不是簡(jiǎn)單路徑列表。

每個(gè)清理目標(biāo)都至少包含這些信息。

字段 作用
清理級(jí)別 安全、標(biāo)準(zhǔn)、深度
風(fēng)險(xiǎn)等級(jí) 低、中、高
路徑 讓用戶知道刪哪里
文件數(shù)量 估算影響范圍
預(yù)計(jì)空間 估算收益
管理員權(quán)限 提前提示權(quán)限要求
默認(rèn)勾選 高風(fēng)險(xiǎn)項(xiàng)默認(rèn)不勾選
說明 告訴用戶后果

我把清理分成三檔。

級(jí)別 內(nèi)容 策略
安全 用戶臨時(shí)文件、縮略圖緩存、7 天以上 Windows Temp 默認(rèn)可選
標(biāo)準(zhǔn) 回收站、瀏覽器緩存、更新下載緩存、錯(cuò)誤報(bào)告、顯卡緩存 用戶確認(rèn)
深度 Windows.old、DISM、舊安裝包、重復(fù)文件、大文件、CompactOS 默認(rèn)不勾選或只復(fù)查

深度清理里,我刻意把很多項(xiàng)目做成“候選”,不是“自動(dòng)刪除”。

比如舊安裝包、舊壓縮包、未完成下載、大文件、重復(fù)文件。這些東西在普通電腦上可能是垃圾,在工程師電腦上可能是固件包、SDK、歷史版本、客戶資料。

非系統(tǒng)盤也一樣。我沒有按擴(kuò)展名全盤刪除用戶文件,只處理明確識(shí)別出的緩存目錄、臨時(shí)目錄、回收站、舊系統(tǒng)目錄和人工復(fù)查候選。

這是一條很重要的原則:寧愿少清一點(diǎn),也不要替用戶誤刪。

3、啟動(dòng)項(xiàng)管理要全面,但動(dòng)作要保守

很多人以為開機(jī)啟動(dòng)項(xiàng)就是注冊(cè)表 Run。實(shí)際上 Windows 的啟動(dòng)入口很多。

這個(gè)工具掃描了這些位置。

來源 說明 自動(dòng)處理策略
HKCU/HKLM Run 常見注冊(cè)表啟動(dòng)項(xiàng) 可禁用和恢復(fù)
Startup 文件夾 用戶和全局啟動(dòng)目錄 可移動(dòng)和恢復(fù)
計(jì)劃任務(wù) 登錄或開機(jī)觸發(fā) 可切換啟用狀態(tài)
Active Setup 用戶環(huán)境初始化 只分析
Winlogon 登錄流程關(guān)鍵位置 只分析
自動(dòng)服務(wù) 服務(wù)型自啟動(dòng) 只分析

這里有兩個(gè)設(shè)計(jì)點(diǎn)。

第一,掃描要盡量全。

如果只看 Run 注冊(cè)表,會(huì)漏掉很多計(jì)劃任務(wù)、服務(wù)項(xiàng)和腳本類啟動(dòng)項(xiàng)。很多軟件不一定把自己放在最顯眼的位置。

第二,禁用要保守。

系統(tǒng)、驅(qū)動(dòng)、安全、硬件相關(guān)組件默認(rèn)建議保留;更新器、托盤、聊天軟件、網(wǎng)盤、啟動(dòng)器這類,給出“可按需關(guān)閉”;腳本、臨時(shí)目錄、未知來源、系統(tǒng)解釋器相關(guān)命令,提示“建議檢查”。

我不希望工具替用戶做決定,所以每個(gè)建議都要顯示原因。比如它是更新器、托盤程序、腳本項(xiàng),還是系統(tǒng)組件。

禁用動(dòng)作也必須可恢復(fù)。注冊(cè)表啟動(dòng)項(xiàng)不是刪除,而是移動(dòng)到備份鍵;啟動(dòng)文件夾里的文件不是刪除,而是移到禁用目錄;計(jì)劃任務(wù)只是關(guān)閉啟用狀態(tài)。

系統(tǒng)工具最怕“清理得很徹底”。很多時(shí)候,可恢復(fù)比徹底更重要。

4、安全管理只做系統(tǒng)內(nèi)置能力能支撐的事

我沒有自研殺毒,也沒有做云查殺。

個(gè)人工具不適合維護(hù)病毒庫,更不應(yīng)該隨便上傳用戶文件。安全管理模塊只做保守體檢,調(diào)用 Windows 本身已有的能力。

它主要檢查這些項(xiàng)目。

類別 檢查內(nèi)容
殺毒防護(hù) Defender 或 Microsoft Security Essentials 狀態(tài)
防火墻 域、專用、公用配置文件是否開啟
漏洞補(bǔ)丁 Windows Update、BITS 服務(wù)和待安裝更新
系統(tǒng)加固 UAC、遠(yuǎn)程桌面、SMB1、移動(dòng)介質(zhì)自動(dòng)運(yùn)行

安全頁的流程是:

防火墻關(guān)了,就啟用防火墻;Windows Update 服務(wù)停了,就啟動(dòng)服務(wù);UAC 關(guān)了,就恢復(fù)注冊(cè)表配置;遠(yuǎn)程桌面不需要,就關(guān)閉;SMB1 開著,就提示關(guān)閉。

如果是系統(tǒng)更新,工具不會(huì)自己下載補(bǔ)丁,而是打開 Windows Update,讓系統(tǒng)自己處理。

這不是偷懶,而是邊界。能交給系統(tǒng)原生能力處理的,就不要自己寫一套更危險(xiǎn)的邏輯。

5、細(xì)節(jié)設(shè)計(jì)

真正花時(shí)間的地方,其實(shí)不是界面。

是這些細(xì)節(jié)。

細(xì)節(jié) 目的
清理前先掃描估算 防止直接誤刪
高風(fēng)險(xiǎn)項(xiàng)默認(rèn)不勾選 不替用戶做危險(xiǎn)決定
相關(guān)軟件自動(dòng)關(guān)閉 清理瀏覽器緩存、WebCache 等目錄時(shí)減少占用
外部命令超時(shí) 防止 chkdsk、defrag、DISM 卡住
模塊獨(dú)立 Busy 狀態(tài) 防止重復(fù)點(diǎn)擊導(dǎo)致狀態(tài)錯(cuò)亂
UI 日志節(jié)流 避免日志過長拖慢界面
異常寫入日志 方便定位問題
啟動(dòng)項(xiàng)可恢復(fù) 降低誤操作成本

這些設(shè)計(jì)不顯眼,但決定工具能不能長期用。

嵌入式里我們很熟悉這種感覺。一個(gè)功能跑起來不難,難的是異常路徑、邊界條件、恢復(fù)流程、超時(shí)兜底。寫 Windows 小工具也是一樣。

我寫 Windows Care Lite 的原因很簡(jiǎn)單。

我想要一個(gè)干凈的維護(hù)工具。開發(fā)機(jī)慢了,能清理緩存;開機(jī)慢了,能看啟動(dòng)項(xiàng);安全配置異常了,能快速檢查。除此之外,它不要常駐,不要廣告,不要聯(lián)網(wǎng)推薦軟件,也不要替我做沒確認(rèn)過的決定。

對(duì)嵌入式工程師來說,開發(fā)機(jī)就是實(shí)驗(yàn)臺(tái)。實(shí)驗(yàn)臺(tái)上的工具應(yīng)該順手、可靠、可控。

用的時(shí)候拿起來,用完放回去。

少做一點(diǎn),但把真正需要的幾件事做穩(wěn)。

資源下載鏈接:https://download.csdn.net/download/m0_38106923/92960183

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容