dotSITE
Вопросы/Ответы Учебник по ASP.NET Форумы
новости материалы решения форумы группы настройки/о проекте
Назад

Как сделать так, чтобы запускалась только одна копия программы?

Для определения того, запущена ли еще одна копия нашей программы, воспользуемся объектом System.Threading.Mutex. Этот объект является оболочкой для системного объекта синхронизации mutex, который может существовать только в единственном экземпляре. Поэтому, если при его создании мы обнаружили, что объект уже был создан, значит, его создала предыдущая копия нашего приложения, которое еще не завершилось.

using System;
using System.Collections;
using System.Threading;

public class MyClass
{
	private static Mutex _syncObject;
	private const string _syncObjectName = "{E663FA11-AE0D-480e-9FCA-4BE9B8CDB4E7}";
	
	public static void Main()
	{
		bool createdNew;
		_syncObject = new Mutex(true, _syncObjectName, out createdNew);
		if (!createdNew) {
			Console.WriteLine("Копия уже запущена.");
			return;
		}
		// Продолжаем выполнение
		Console.ReadLine();
	}
}

 Назад
Контакт Реклама на сайте Спонсорам Веб мастерам

Лицензионное соглашение - © 2000-2012 dotSITE
Хостинг .NET предоставлен PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development