C# 程序禁止重复启动

常用的,获取进程判断程序是否已启动是使用 Process.GetProcessesByName ,以下作一个笔记,记录一下使用互斥体来判断。

“OnlyOne”是自定义的系统互斥体的名称(ID),它的作用域为系统级的,也就是说,其他的程序若也需要禁止重复启动,此名称不能重复!

static class Program
{
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            bool bCanRun = false;
            Mutex mutex = new Mutex(true, "OnlyOne", out bCanRun);
            if (!bCanRun)
            {
                MessageBox.Show("不可重复启动!");
                return;
            }

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
原文地址:https://www.cnblogs.com/seanyan/p/14028450.html