Developer ee620a3255 转换为通用WinForms应用模板
## 主要功能
- 清理Excel合并业务逻辑,保留基础框架
- 单exe打包配置(ILRepack示例)
- 应用图标和UI按钮图标配置
- .NET Framework 4.8环境检测
- 通用UI界面(文件夹选择、日志显示等)

## 模板用途
可直接作为新WinForms项目的基础模板
- 只需添加具体业务逻辑即可
- 支持Win7兼容性
- 完整的打包和图标配置示例

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 14:45:46 +08:00

60 lines
2.0 KiB
C#

using System;
using System.Windows.Forms;
using Microsoft.Win32;
namespace WinFormsAppTemplate
{
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);
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;
}
}
}