Skip to content

モジュールとサービスの概要

このページのすべての内容は簡体字中国語版から翻訳されたものです。簡体字中国語版のページを優先してご参照ください。本プロジェクトではまだこの言語の翻訳版を提供していませんが、今後マルチ言語版の公開を予定しています。どうぞご期待ください。

モジュールとサービスの概要 ​

このページではメインプログラム内の機能モジュール(Modules)、サービス(Services)、ユーティリティクラス(Utils)、テーマ(Themes)を一つずつ紹介し、ソースコードを読む際に「このファイルは何をするものか」を素早く特定できるようにします。

機能モジュール(Modules/) ​

モジュールは機能エリア別に構成され、1 つのモジュールが一組の機能ロジックに対応します:

Modules/Beginner/ —— 初心者エリア ​

ファイル担当
OptimizeModule.cs電源 / インデックス / 自動再生 / サムネイルなどの最適化項目
PrivacyAdsModule.cs広告 / テレメトリ / 通知のおすすめの無効化
RightClickMenuModule.csWin11 クラシック右クリックメニューの切り替え
TaskbarExplorerModule.csタスクバー / エクスプローラーの微調整
UwpCleanModule.cs安全な UWP アンインストール(ホワイトリスト)

Modules/Advanced/ —— 上級エリア ​

ファイル担当
WindowsUpdateModule.csWindows Update 一時停止期限 / 無効化

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.cscmd コマンドの実行
PowerShellRunner.csPowerShell コマンドの実行
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 ライセンスのもとで公開