winform应用程序只允许运行一个实例

    技术2025-09-14  112

    方法一:

     /// <summary>        /// 应用程序的主入口点。        /// </summary>        [STAThread]        static void Main()        {            //声明互斥体。            Mutex mutex = new Mutex(false, "ThisShouldOnlyRunOnce ");            //判断互斥体是否使用中。             bool Running = !mutex.WaitOne(0, false);

                Application.EnableVisualStyles();            Application.SetCompatibleTextRenderingDefault(false);

                if (!Running)                Application.Run(new LoginForm());            else                MessageBox.Show("应用程序已经启动! ");        }

    方法二:

            static void Main()        {            int ProceedingCount = 0;            Process[] ProceddingCon = Process.GetProcesses();            foreach (Process IsProcedding in ProceddingCon)            {                if (IsProcedding.ProcessName == Process.GetCurrentProcess().ProcessName)                {                    ProceedingCount += 1;                }            }            if (ProceedingCount > 1)            {                MessageBox.Show("该系统已经在运行中。 ", "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information);            }            else            {                Application.EnableVisualStyles();                Application.DoEvents();                Application.Run(new LoginForm());            }        }

    最新回复(0)