Skip to content

模組與服務速覽

頁面所有內容均翻譯自簡體中文版,請優先參考簡體中文版頁面。本項目尚未提供該語言的翻譯版本,預計未來會上線多語言版本,敬請期待。

模組與服務速覽 ​

這一頁把主程式裡的功能模組(Modules)、服務(Services)、工具類(Utils)和主題(Themes)逐個點名,幫你在讀原始碼時快速定位「這個檔案是幹什麼的」。

功能模組(Modules/) ​

模組按功能分區組織,一個模組對應一組功能邏輯:

Modules/Beginner/ —— 新手區 ​

檔案負責
OptimizeModule.cs電源 / 索引 / 自動播放 / 縮圖等優化項
PrivacyAdsModule.cs關閉廣告 / 遙測 / 通知推薦
RightClickMenuModule.csWin11 經典右鍵選單切換
TaskbarExplorerModule.cs工作列 / 檔案總管微調
UwpCleanModule.cs安全 UWP 解除安裝(白名單)

Modules/Advanced/ —— 進階區 ​

檔案負責
WindowsUpdateModule.csWindows 更新暫停期限 / 停用

Modules/Uninstaller/ —— 解除安裝程式 ​

檔案負責
UninstallerService.csWin32 軟體解除安裝主邏輯
ResidueScanner.cs解除安裝後的殘留掃描
ReportWriter.cs清理報告匯出

Modules/Unlock/ —— 解除佔用 ​

檔案負責
UnlockService.cs尋找佔用程序、關閉釋放、開機延遲刪除

服務(Services/) ​

服務是貫穿全域的單例能力,按檔名就能對上職責:

檔案一句話職責
AdminService.cs管理員權限相關處理
AppInfo.cs版本號、儲存庫位址與內建更新記錄(Changelog),發版時必改
BackupService.cs備份能力
ConfigService.cs配置讀寫
FeatureHost.cs功能宿主:承載各功能項的執行入口
FluentToast.csFluent 風格的通知提示
LogService.cs全域記錄(INFO / WARN / ERROR),寫到 %LocalAppData%\LetsMeowToolbox\logs
OsVersionService.cs系統版本偵測(Win10 / Win11 差異處理會用到)
PluginLoader.cs高危外掛載入器:掃描並動態載入 plugins/ 目錄下的外掛 DLL
SettingsService.cs設定項管理
ThemeService.cs主題切換(淺色 / 二次元模式等)
Ui.cs介面互動封裝(彈窗、錯誤提示等)

工具類(Utils/) ​

底層能力封裝,基本都是「髒活累活」的集中地:

檔案一句話職責
CmdRunner.cs執行 cmd 命令
PowerShellRunner.cs執行 PowerShell 命令
NativeMethods.csWin32 原生 API 的 P/Invoke 宣告
RestartManager.csRestartManager API 封裝(查「誰在佔用檔案」用的就是它)
PendingFileOps.cs重啟後延遲檔案操作(開機延遲刪除的底層,基於 MoveFileEx 機制)
ProcessUtil.cs程序相關操作
RegistryUtil.cs登錄讀寫封裝
UwpWhitelist.csUWP 解除安裝白名單(防止誤刪系統元件)
WindowBackdrop.cs視窗背景材質(Win11 材質 / 純色回退)

主題(Themes/) ​

檔案說明
Brushes.Light.xaml淺色主題畫筆
Brushes.Anime.xaml二次元模式畫筆(v0.1.1 優化過可讀性)
FluentStyles.xamlFluent 風格樣式

介面(Views/)速查 ​

頁面與分區基本一一對應:BeginnerView(新手區)、AdvancedView(進階區)、UninstallerView + UninstallerPanel(解除安裝程式)、UnlockView + UnlockPanel(解除佔用)、HighRiskView(高危外掛區)、SettingsView(設定)、CreditsView(特別鳴謝)。對話方塊類:ChangelogDialog(更新記錄)、LicenseDialog(首次啟動協議)、FluentDialog。

讀原始碼的推薦路線:先看 `Views/` 找到介面入口 → 跳到對應 `Modules/` 看邏輯 → 遇到底層操作再看 `Utils/`。服務層(`Services/`)在哪裡都會被碰到,不用專門通讀。

基於 GPL-3.0 授權條款發布