Files
Serendipity a769a6b9b3 refactor: 重构项目为 MVC 架构并移除全局变量
- 将原有扁平目录结构重构为 MVC 分层架构:
  * src/core/: 核心业务逻辑(Model),完全独立于 UI 框架
  * src/ui/: 界面组件构建(View),负责纯视觉展示
  * src/controller/: 用户交互处理(Controller),连接数据与界面
  * src/utils/: 底层工具函数,专注于系统调用和字符串处理
- 引入 AppContext 结构体统一管理应用状态,替代原有的全局变量模式
- 重命名并重新组织头文件,按功能模块划分到对应子目录
- 更新 CMakeLists.txt 以适配新的目录结构
- 同步更新 README.md 文档,说明新的架构设计
2026-03-19 20:58:41 +08:00

5.5 KiB
Raw Permalink Blame History

Path Editor (系统环境变量编辑器)

  • Path Editor 是一个专为 Windows 用户设计的系统环境变量(PATH)管理工具。它基于原生 C 语言和 IUP 图形库开发,旨在替代 Windows 自带的简陋编辑界面。
  • 相比系统自带的编辑器,Path Editor 提供了更加直观的双视图(系统/用户变量)界面、智能的路径有效性检测、自动备份机制以及便捷的拖拽操作,让环境变量的管理变得安全、高效且轻松。无论您是开发者还是系统管理员,它都是您配置开发环境的得力助手。

功能特点

  • 🛡️ 安全第一

    • 自动备份:每次保存前自动备份注册表,防止意外。
    • 只读模式:非管理员运行时自动切换到只读模式,防止误操作。
    • 权限检测:智能检测当前运行权限。
  • 📑 双视图管理

    • 完美支持 System (系统变量)User (用户变量) 的分离查看与编辑。
    • 清晰的 Tab 标签页切换。
  • 🔴 智能诊断与维护

    • 无效路径高亮:自动检测路径是否存在,不存在的显示为红色。
    • 重复路径高亮:自动检测重复项,重复的显示为橙色。
    • 一键清理:智能移除所有无效和重复的路径,保持环境整洁。
  • 📂 高效交互

    • 拖拽支持:直接将文件夹拖入窗口即可添加(支持管理员模式下的 UIPI 穿透)。
    • 实时搜索:顶部搜索框支持不区分大小写的实时过滤查找。
    • 快捷键:支持 Delete 键快速删除选中项。
  • 便捷管理

    • 新建:添加新路径到列表。
    • 📂 浏览:直接从文件资源管理器选择目录添加。
    • ✏️ 编辑:双击或点击按钮修改现有路径。
    • 🗑️ 删除:移除不需要的路径。
    • ⬆️⬇️ 排序:上移/下移调整路径优先级。
  • 轻量级:原生 C 语言编写,无臃肿依赖,运行速度极快。

🏗️ 架构与二次开发

本项目注重代码的模块化和可维护性,采用了经典的 MVC 分层架构,非常适合作为 C 语言桌面程序开发的参考:

  • 分层设计
    • src/core/ (Model): 核心数据与业务逻辑,完全脱离 UI 框架(无任何 <iup.h> 依赖)。
    • src/ui/ (View): 负责界面布局与组件的纯视觉展示。
    • src/controller/ (Controller): 负责连接用户交互与底层数据。
    • src/utils/ (Utils): 纯粹的底层工具类封装(系统级调用、字符串处理)。
  • 统一配置中心:所有的 UI 尺寸、间距、颜色等常量配置均提取在 include/config.h 中,只需修改宏定义即可轻松定制属于你的专属界面风格。
  • 清晰的应用状态:摒弃了脆弱的全局变量模式,采用 AppContext 统一管理应用运行时的上下文状态,通过指针传递,安全可靠。

📦 下载与安装

您可以从 Releases 页面下载最新的安装包 (PathEditorSetup.exe)。

安装完成后,请以管理员身份运行程序以确保能够保存对系统环境变量的修改。

🛠️ 构建指南

如果您想从源码构建本项目,请按照以下步骤操作:

环境要求

  • Windows 操作系统
  • GCC 编译器 (推荐 MinGW-w64)
  • CMake 工具 (推荐使用 CMake 构建)
  • IUP 库 (已包含在 libs 目录下)
  • Inno Setup 6 (仅打包需要)

编译步骤 (推荐使用 CMake)

本项目已迁移至 CMake 构建系统,支持生成更标准的构建文件并集成到各大 IDE。

  1. 克隆仓库:

    git clone https://github.com/LHY0125/PathEditor.git
    cd PathEditor
    
  2. 使用 CMake 配置和编译:

    # 生成构建系统 (以 MinGW 为例)
    cmake -B build -G "MinGW Makefiles"
    
    # 编译项目
    cmake --build build
    
  3. 运行: 编译成功后,可执行文件位于 build/PathEditor.exe

打包 (可选)

本项目使用 Inno Setup 生成安装包。

  1. 确保已安装 Inno Setup 6
  2. 运行根目录下的 build_installer.bat 脚本。
  3. 生成的安装包将位于 dist/dist/PathEditorSetup.exe

📝 使用说明

  1. 启动:右键点击程序图标,选择“以管理员身份运行”。
  2. 查看:程序启动后会自动加载当前的系统 PATH 变量。
    • 红色条目表示路径不存在。
    • 橙色条目表示路径重复。
  3. 搜索:在顶部输入关键词可快速筛选。
  4. 修改
    • 拖拽文件夹到列表可直接添加。
    • 使用右侧按钮栏进行常规操作。
    • 点击“一键清理”可自动删除无效和重复项。
  5. 保存:操作完成后,务必点击底部的【确定】按钮保存更改。
  6. 生效:保存后,某些正在运行的程序可能需要重启才能识别新的环境变量。CMD 或 PowerShell 窗口需要重新打开。

👤 作者信息

如果您觉得这个工具对您有帮助,请给我的 GitHub 仓库点个 Star

📄 许可证

本项目基于 MIT 许可证开源,您可以在遵守许可证条款的前提下自由使用、修改和分发本项目的代码。

详细信息请参阅 LICENSE 文件。

Copyright © 2026 LHY. All Rights Reserved.