# 架构说明 ## 项目组成 ```text WindowsToolbox.App WPF 界面、MVVM、UAC 客户端 WindowsToolbox.ElevatedHost 固定命令白名单、管理员权限系统修改 WindowsToolbox.Cli 当前用户桌面归档计划任务入口 WindowsToolbox.Infrastructure 注册表、进程、任务计划、快照、各功能实现 WindowsToolbox.Core 命令、状态、结果、快照和配置模型 WindowsToolbox.Verification 不修改系统的自动验证程序 ``` ## 执行流程 ```text 用户点击功能 → 主程序生成强类型 ToolboxCommand → 普通文件操作直接执行 → 系统操作写入 Pending 目录并请求 UAC → ElevatedHost 验证路径、时效和命令类型 → 首次操作保存基线快照 → 执行固定实现 → 读取实际状态进行验证 → 写入结果和操作历史 → 主程序刷新系统状态 ``` 管理员执行器只接受枚举中的命令以及经过各模块验证的参数,不提供任意 CMD、PowerShell 或脚本执行入口。 ## 扩展新功能 新增功能时应按以下顺序: 1. 在 `ToolboxCommandKind` 中添加固定命令。 2. 在基础设施项目中实现模块服务。 3. 确定原始状态的完整快照范围。 4. 在 `ToolboxCommandDispatcher` 注册执行分支和提权要求。 5. 在 WPF ViewModel 暴露命令,在页面添加状态、风险说明、应用和恢复入口。 6. 向 Verification 项目增加非破坏性验证。 每个修改操作必须满足幂等、可验证和尽可能可恢复;不能只根据进程退出码显示成功。