81 lines
2.8 KiB
Markdown
81 lines
2.8 KiB
Markdown
# VHD Mounter - VHD自动挂载工具
|
||
|
||
## 功能描述
|
||
|
||
这是一个Windows桌面应用程序,用于自动挂载包含特定关键词的VHD文件并管理相关进程。
|
||
|
||
### 主要功能
|
||
|
||
1. **开机自启动** - 程序会自动注册到Windows开机启动项
|
||
2. **VHD文件扫描** - 自动扫描所有磁盘驱动器,查找文件名包含SDEZ/SDHD/SDDT的VHD文件
|
||
3. **智能挂载** - 将选中的VHD文件挂载为M盘
|
||
4. **用户选择界面** - 当发现多个符合条件的VHD文件时,提供全屏选择界面
|
||
5. **自动启动** - 在挂载的VHD中查找package文件夹并启动其中的start.bat
|
||
6. **进程监控** - 监控sinmai/chusanapp/mu3相关进程,如果进程停止则自动重启start.bat
|
||
7. **全屏状态显示** - 在操作过程中显示全屏白色界面,实时显示当前任务状态
|
||
|
||
## 系统要求
|
||
|
||
- Windows 10/11
|
||
- .NET 6.0 Runtime
|
||
- 管理员权限(用于VHD挂载操作)
|
||
|
||
## 编译和运行
|
||
|
||
### 编译
|
||
|
||
```bash
|
||
dotnet build --configuration Release
|
||
```
|
||
|
||
### 发布
|
||
|
||
```bash
|
||
dotnet publish --configuration Release --self-contained true --runtime win-x64
|
||
```
|
||
|
||
### 运行
|
||
|
||
程序需要以管理员身份运行才能执行VHD挂载操作。
|
||
|
||
## 使用说明
|
||
|
||
1. **首次运行**:程序会自动注册到开机启动项
|
||
2. **VHD扫描**:程序启动后会自动扫描所有驱动器查找符合条件的VHD文件
|
||
3. **文件选择**:
|
||
- 如果只找到一个VHD文件,会自动挂载
|
||
- 如果找到多个VHD文件,会显示选择界面
|
||
- 使用上下键选择,回车确认
|
||
4. **自动挂载**:选中的VHD文件会被挂载为M盘
|
||
5. **启动程序**:自动查找并启动M盘中package文件夹内的start.bat
|
||
6. **后台监控**:程序会在后台持续监控目标进程,必要时重启
|
||
|
||
## 界面操作
|
||
|
||
- **上下键**:在VHD选择界面中切换选项
|
||
- **回车键**:确认选择
|
||
- **ESC键**:退出程序
|
||
- **右上角×按钮**:关闭程序
|
||
|
||
## 注意事项
|
||
|
||
1. **管理员权限**:程序必须以管理员身份运行
|
||
2. **VHD文件要求**:文件名必须包含SDEZ、SDHD或SDDT关键词
|
||
3. **目标驱动器**:VHD文件会被挂载为M盘,如果M盘已被占用会先卸载
|
||
4. **进程监控**:程序会监控包含sinmai、chusanapp或mu3关键词的进程
|
||
5. **自动重启**:如果目标进程停止运行,程序会自动重启start.bat
|
||
|
||
## 故障排除
|
||
|
||
1. **挂载失败**:确保以管理员身份运行程序
|
||
2. **找不到VHD文件**:检查文件名是否包含必要的关键词
|
||
3. **start.bat启动失败**:确保package文件夹中存在start.bat文件
|
||
4. **进程监控异常**:检查目标程序是否正常运行
|
||
|
||
## 技术实现
|
||
|
||
- **框架**:.NET 6.0 + WPF
|
||
- **VHD挂载**:使用Windows diskpart命令
|
||
- **进程监控**:System.Diagnostics.Process
|
||
- **开机启动**:Windows注册表
|
||
- **权限管理**:应用程序清单文件 |