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

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

static class Program
{        /// 
        /// 应用程序的主入口点。        ///         [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());
        }
    }