一、使用互斥体 Mutex:
Mutex 说明:https://msdn.microsoft.com/zh-cn/library/system.threading.mutex.aspx
#region 使用mutex()互斥体判断
bool isRuned;
//
System.Threading.Mutex mutex = new System.Threading.Mutex(true, "OnlyRunOneInstance", out isRuned);
if (isRuned)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Main());
}
else
{
MessageBox.Show("程序已经运行");
}
#endregion
二、使用进程数量判断
#region 使用改程序进程数量判断
Process[] processcollection = Process.GetProcessesByName(Application.CompanyName);
if (processcollection.Length > 1)
{
MessageBox.Show("应用程序已经在运行中。。");
}
else
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// 运行该应用程序
Application.Run(new Main());
}
#endregion
第一种方法软件就只能开一个,第二种方法启动程序名字修改后可以多开(同一个名字只能开一个);
本文参考:https://blog.csdn.net/u011981242/article/details/51338278