健康一贴灵,专注医药行业管理信息化

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()); // 启动主窗口
        }
    }
}

 

posted @ 2025-07-02 09:04  一贴灵  阅读(88)  评论(0)    收藏  举报
学以致用,效率第一