C#程序防止软件重复开启的方法

    static class Program
    {
        static Mutex mutex;
        /// 
        /// 应用程序的主入口点。
        /// 
        [STAThread]
        static void Main()      
        {         
            #region Make Sure Only One Application is Running
            bool newApp = false;
            try
            {
                /*软件首次开启时newApp = true, 此时再打开相同软件 newApp = false */
                Console.WriteLine(System.Diagnostics.Process.GetCurrentProcess().ProcessName);
                mutex = new System.Threading.Mutex(false, System.Diagnostics.Process.GetCurrentProcess().ProcessName, out newApp);
                if (newApp == false)				// = false 软件已被重复开启
                {
                    MessageBox.Show("应用程序已经存在,请勿重复打开!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    Environment.Exit(0);
                }
            }
            catch
            {
                MessageBox.Show("应用程序已经存在,请勿重复打开!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Environment.Exit(0);
            }
            #endregion
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new frmMain());
        }
    }

你可能感兴趣的:(工控上位机C#,c#,前端)