C# 防止整个程序重复运行(单实例应用程序
防止整个程序重复运行(单实例应用程序)
适用于整个 EXE 只能启动一次的场景(如微信、主程序入口)。
1. 使用 Mutex(互斥体) - 推荐方法
在 Program.cs 中通过系统级互斥锁检测是否已有实例运行:
using System.Threading; using System.Windows.Forms; using System.Diagnostics; static class Program { [STAThread] static void Main() { bool isNewInstance; // 使用唯一名称(建议包含公司/应用名) using (Mutex mutex = new Mutex(true, "Global\\MyAppName", out isNewInstance)) { if (!isNewInstance) { MessageBox.Show("程序已在运行中!"); return; // 退出新实例 } Application.Run(new MainForm()); // 启动主窗口 } } }
活到老,学到老。

浙公网安备 33010602011771号