方法一:
/// <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()); } }