refactor: 提取UI组件到独立模块并改进拖拽支持

- 将列表、按钮等UI创建代码从main.c移至ui.c/ui.h
- 添加Windows UIPI消息过滤以支持管理员模式下的文件拖拽
- 更新Makefile和构建脚本以包含新的UI模块
- 清理旧的备份注册表文件并更新README文档
This commit is contained in:
2026-03-16 20:15:10 +08:00
parent 39d06e20e0
commit 575fcca5c4
13 changed files with 193 additions and 85 deletions
+35 -10
View File
@@ -1,18 +1,36 @@
# Path Editor (系统环境变量编辑器)
一个简单、轻量级的 Windows 系统环境变量(PATH)编辑器,基于 C 语言和 IUP 图形库开发。
一个简单、轻量级但功能强大的 Windows 系统环境变量(PATH)编辑器,基于 C 语言和 IUP 图形库开发。
## ✨ 功能特点
* **可视化编辑**:直观地查看和管理系统 PATH 环境变量。
* **安全操作**:必须以管理员身份运行才能保存更改,防止误操作
* **🛡️ 安全第一**
* **自动备份**:每次保存前自动备份注册表,防止意外
* **只读模式**:非管理员运行时自动切换到只读模式,防止误操作。
* **权限检测**:智能检测当前运行权限。
* **📑 双视图管理**
* 完美支持 **System (系统变量)****User (用户变量)** 的分离查看与编辑。
* 清晰的 Tab 标签页切换。
* **🔴 智能诊断与维护**
* **无效路径高亮**:自动检测路径是否存在,不存在的显示为红色。
* **重复路径高亮**:自动检测重复项,重复的显示为橙色。
* **一键清理**:智能移除所有无效和重复的路径,保持环境整洁。
* **📂 高效交互**
* **拖拽支持**:直接将文件夹拖入窗口即可添加(支持管理员模式下的 UIPI 穿透)。
* **实时搜索**:顶部搜索框支持不区分大小写的实时过滤查找。
* **快捷键**:支持 Delete 键快速删除选中项。
* **便捷管理**
* **新建**:添加新路径到列表。
* 📂 **浏览**:直接从文件资源管理器选择目录添加。
* ✏️ **编辑**:修改现有路径。
* ✏️ **编辑**双击或点击按钮修改现有路径。
* 🗑️ **删除**:移除不需要的路径。
* ⬆️⬇️ **排序**:上移/下移调整路径优先级。
* **轻量级**:原生 C 语言编写,运行速度快,占用资源少。
* **轻量级**:原生 C 语言编写,无臃肿依赖,运行速度极快。
## 📦 下载与安装
@@ -30,6 +48,7 @@
* GCC 编译器 (推荐 MinGW-w64)
* Make 工具
* IUP 库 (已包含在 `libs` 目录下)
* Inno Setup 6 (仅打包需要)
### 编译步骤
@@ -54,16 +73,22 @@
本项目使用 Inno Setup 生成安装包。
1. 确保已安装 [Inno Setup 6](https://jrsoftware.org/isdl.php)。
2. 编译项目生成 exe 文件
3. 使用 Inno Setup 编译 `dist/installer.iss` 脚本
2. 运行根目录下的 `build_installer.bat` 脚本
3. 生成的安装包将位于 `dist/dist/PathEditorSetup.exe`
## 📝 使用说明
1. **启动**:右键点击程序图标,选择“以管理员身份运行”。
2. **查看**:程序启动后会自动加载当前的系统 PATH 变量。
3. **修改**:使用右侧按钮栏进行添加、删除、移动等操作
4. **保存**:操作完成后,务必点击底部的【确定】按钮保存更改
5. **生效**保存后,某些正在运行的程序可能需要重启才能识别新的环境变量。CMD 或 PowerShell 窗口需要重新打开
* **红色**条目表示路径不存在
* **橙色**条目表示路径重复
3. **搜索**在顶部输入关键词可快速筛选
4. **修改**
* 拖拽文件夹到列表可直接添加。
* 使用右侧按钮栏进行常规操作。
* 点击“一键清理”可自动删除无效和重复项。
5. **保存**:操作完成后,务必点击底部的【确定】按钮保存更改。
6. **生效**:保存后,某些正在运行的程序可能需要重启才能识别新的环境变量。CMD 或 PowerShell 窗口需要重新打开。
## 👤 作者信息