Всем привет! Сейчас я покажу еще один вариант запрета запуска второй копии приложения, с использованием языка C#.
Для этого в проекте создайте фаил .cs в него поместите следующий код.
class StartClass { [STAThread] static void Main(string[] args) { SingleInstanceApplicationWrapper startWrapper = new SingleInstanceApplicationWrapper(); startWrapper.Run(args); } } public class SingleInstanceApplicationWrapper : Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase { public SingleInstanceApplicationWrapper() { // Включаем режим single-instance. this.IsSingleInstance = true; } private Class1 _app; protected override bool OnStartup(Microsoft.VisualBasic.ApplicationServices.StartupEventArgs eventArgs) { _app = new Class1(); _app.Run(); return false; } protected override void OnStartupNextInstance(Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventArgs eventArgs) { Application.Current.MainWindow.Activate(); } } class Class1 : Application { protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); // загружаем главное окно. MainWindow window = new MainWindow(); this.MainWindow = window; window.Show(); } }
А свойствах проекта изменить автоматически запускаемый объект на StartClass.

Таким образом, теперь более одной копии приложения не возможно запустить.