Для того, что бы Ваша программа запускалась только в единственном экземпляре, нужно использовать класс Mutex (mutual exclusion — взаимное исключение), который обеспечивает синхронизация процессов и их блокировку.
Program.cs
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespace_0016 {-
staticclassProgram { -
/// <summary> -
/// The main entry point for the application. -
/// </summary> -
[STAThread] -
staticvoidMain() { -
boolone; -
//true - вызывающий поток является изначальным владельцем -
//"0016" - имя программы -
//out one - присваивает булево значение, является ли поток изначальным владельцем -
System.Threading.Mutex M =newSystem.Threading.Mutex(true,"0016",outone); -
if(one) { -
Application.EnableVisualStyles(); -
Application.SetCompatibleTextRenderingDefault(false); -
Application.Run(newForm1()); -
} -
else{ -
MessageBox.Show("Приложение уже выполняется!"); -
} -
} -
} }
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespace_0016 {-
staticclassProgram { -
/// <summary> -
/// The main entry point for the application. -
/// </summary> -
[STAThread] -
staticvoidMain() { -
boolone; -
//true - вызывающий поток является изначальным владельцем -
//"0016" - имя программы -
//out one - присваивает булево значение, является ли поток изначальным владельцем -
System.Threading.Mutex M =newSystem.Threading.Mutex(true,"0016",outone); -
if(one) { -
Application.EnableVisualStyles(); -
Application.SetCompatibleTextRenderingDefault(false); -
Application.Run(newForm1()); -
} -
else{ -
MessageBox.Show("Приложение уже выполняется!"); -
} -
} -
} }