diff --git a/WinFormsApp1/Program.cs b/WinFormsApp1/Program.cs
index e0472af..d7d2fb3 100644
--- a/WinFormsApp1/Program.cs
+++ b/WinFormsApp1/Program.cs
@@ -1,5 +1,6 @@
using System;
using System.Windows.Forms;
+using Microsoft.Win32;
namespace WinFormsApp1
{
@@ -11,9 +12,49 @@ namespace WinFormsApp1
[STAThread]
static void Main()
{
+ // 检查.NET Framework 4.8是否已安装
+ if (!CheckDotNetFramework48())
+ {
+ MessageBox.Show(
+ "检测到您的系统未安装 .NET Framework 4.8\n\n" +
+ "Excel合并工具需要此环境才能运行。\n\n" +
+ "请前往以下链接下载并安装:\n" +
+ "https://dotnet.microsoft.com/download/dotnet-framework/net48\n\n" +
+ "安装完成后请重新运行本程序。",
+ "缺少运行环境",
+ MessageBoxButtons.OK,
+ MessageBoxIcon.Error
+ );
+ return;
+ }
+
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
+
+ private static bool CheckDotNetFramework48()
+ {
+ try
+ {
+ using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\"))
+ {
+ if (key != null)
+ {
+ object release = key.GetValue("Release");
+ if (release != null && int.TryParse(release.ToString(), out int releaseValue))
+ {
+ // .NET Framework 4.8 的 Release 值为 528040 或更高
+ return releaseValue >= 528040;
+ }
+ }
+ }
+ }
+ catch
+ {
+ // 如果无法访问注册表,假设未安装
+ }
+ return false;
+ }
}
}
\ No newline at end of file
diff --git a/WinFormsApp1/WinFormsApp1.csproj b/WinFormsApp1/WinFormsApp1.csproj
index 6a6fff5..d70ee34 100644
--- a/WinFormsApp1/WinFormsApp1.csproj
+++ b/WinFormsApp1/WinFormsApp1.csproj
@@ -4,10 +4,34 @@
WinExe
net48
true
+ ExcelMerger
+ ExcelMerger
+ app.ico
+
+
+ false
+ false
+ true
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file