60 lines
2.0 KiB
C#
Raw Normal View History

using System;
using System.Windows.Forms;
using Microsoft.Win32;
namespace WinFormsAppTemplate
2025-11-20 11:10:53 +08:00
{
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[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);
2025-11-20 11:10:53 +08:00
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;
}
2025-11-20 11:10:53 +08:00
}
}