From 6c426cdc58f2816a630fc0574de3fc8b673ead25 Mon Sep 17 00:00:00 2001 From: Lannamokia Date: Sun, 19 Oct 2025 04:23:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=92=8C=E5=BB=B6=E8=BF=9F=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E4=BB=A5=E6=94=B9=E5=96=84=E7=94=A8=E6=88=B7=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在VHD挂载流程中添加详细的状态更新信息和2秒延迟显示,使用户能够更清楚地了解当前操作进度 --- MainWindow.xaml.cs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index 7328ca5..c872085 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -77,6 +77,8 @@ namespace VHDMounter // 尝试远程获取VHD选择 OnStatusChanged("正在检查远程VHD选择配置..."); string remoteSelectedKeyword = await vhdManager.GetRemoteVHDSelection(); + OnStatusChanged($"远程VHD选择检查完成: {(string.IsNullOrWhiteSpace(remoteSelectedKeyword) ? "无远程选择" : $"选择关键词: {remoteSelectedKeyword}")}"); + await Task.Delay(2000); // 暂停2秒显示结果 // 检查是否存在NX_INS USB设备 OnStatusChanged("正在检查NX_INS USB设备..."); @@ -86,17 +88,24 @@ namespace VHDMounter if (nxInsUSB != null) { OnStatusChanged($"找到NX_INS USB设备: {nxInsUSB.Name}"); + await Task.Delay(2000); // 暂停2秒显示结果 // 扫描USB设备中的VHD文件 + OnStatusChanged("正在扫描USB设备中的VHD文件..."); usbVhdFiles = vhdManager.ScanUSBForVHDFiles(nxInsUSB); OnStatusChanged($"在USB设备中找到 {usbVhdFiles.Count} 个VHD文件"); + await Task.Delay(2000); // 暂停2秒显示结果 } else { OnStatusChanged("未找到NX_INS USB设备,将使用本地VHD文件"); + await Task.Delay(2000); // 暂停2秒显示结果 } // 扫描本地VHD文件 + OnStatusChanged("正在扫描本地VHD文件..."); var localVhdFiles = await vhdManager.ScanForVHDFiles(); + OnStatusChanged($"本地VHD文件扫描完成,找到 {localVhdFiles.Count} 个文件"); + await Task.Delay(2000); // 暂停2秒显示结果 // 如果找到USB设备和VHD文件,替换本地文件 if (nxInsUSB != null && usbVhdFiles.Count > 0 && localVhdFiles.Count > 0) @@ -108,7 +117,13 @@ namespace VHDMounter OnStatusChanged("本地VHD文件已替换,重新扫描本地文件..."); // 重新扫描本地文件 localVhdFiles = await vhdManager.ScanForVHDFiles(); + OnStatusChanged($"重新扫描完成,找到 {localVhdFiles.Count} 个文件"); } + else + { + OnStatusChanged("VHD文件替换失败或无需替换"); + } + await Task.Delay(2000); // 暂停2秒显示结果 } if (localVhdFiles.Count == 0) @@ -125,16 +140,19 @@ namespace VHDMounter // 如果有远程选择的关键词,优先使用 if (!string.IsNullOrWhiteSpace(remoteSelectedKeyword)) { + OnStatusChanged($"正在根据远程关键词 '{remoteSelectedKeyword}' 查找VHD文件..."); selectedVHD = vhdManager.FindVHDByKeyword(localVhdFiles, remoteSelectedKeyword); if (selectedVHD != null) { OnStatusChanged($"根据远程选择启动VHD: {System.IO.Path.GetFileName(selectedVHD)}"); + await Task.Delay(2000); // 暂停2秒显示结果 await ProcessSelectedVHD(selectedVHD); return; } else { OnStatusChanged($"远程选择的关键词 '{remoteSelectedKeyword}' 未找到对应VHD文件,将显示选择器"); + await Task.Delay(2000); // 暂停2秒显示结果 } } @@ -181,6 +199,7 @@ namespace VHDMounter }); // 挂载VHD + OnStatusChanged($"正在挂载VHD文件: {System.IO.Path.GetFileName(vhdPath)}"); bool mounted = await vhdManager.MountVHD(vhdPath); if (!mounted) { @@ -189,6 +208,8 @@ namespace VHDMounter await SafeShutdown(); return; } + OnStatusChanged("VHD挂载成功"); + await Task.Delay(2000); // 暂停2秒显示结果 // 根据文件名选择目标目录(SDHD -> bin,否则 -> package),忽略大小写 bool isSDHD = System.IO.Path.GetFileName(vhdPath) @@ -213,8 +234,11 @@ namespace VHDMounter await SafeShutdown(); return; } + OnStatusChanged($"目标目录搜索完成: {targetFolder}"); + await Task.Delay(2000); // 暂停2秒显示结果 // 启动start.bat + OnStatusChanged("正在启动start.bat文件..."); bool started = await vhdManager.StartBatchFile(targetFolder); if (!started) { @@ -223,6 +247,8 @@ namespace VHDMounter await SafeShutdown(); return; } + OnStatusChanged("start.bat启动成功"); + await Task.Delay(2000); // 暂停2秒显示结果 OnStatusChanged("程序启动成功,开始监控...");