Ana Sayfa > C#, Programlama > Uygulamadan aynı anda bir tane açılmasını garantilemek

Uygulamadan aynı anda bir tane açılmasını garantilemek

Yazdığımız uygulamalardan aynı anda sadece bir tane açık olmasını isteyebiliriz. Bunu garantilemek için, yapmamız gereken process’ler arası iletişim kanalı oluşturmak ve kullanmak olmalıdır.

C# dilinde process’ler arası iletişim (cross-process communication) Mutex sınıfı ile sağlanır.

Mutex sınıfının kullanımını hemen bir örnek ile inceleyelim;

[STAThread]
static void Main()
{
	bool AcikUygulamaVar = false;
	Mutex m = new Mutex(true, "UygulamanınAdı", out AcikUygulamaVar);
	if (AcikUygulamaVar)
	{
		Application.EnableVisualStyles();
		Application.SetCompatibleTextRenderingDefault(false);
		Application.Run(new MainForm());
	}
	else
	{
		MessageBox.Show("Uygulamadan aynı anda bir tane açabilirsiniz!");
	}
}

Mutex sınıfı ile ilgili daha detaylı bilgiye MSDN‘deki şu makaleden ulaşabilirsiniz.


İlgili diğer başlıklar:

  1. .Net 4 COM İyileştirmeleri – Office Uygulamarı ile Çalışmak
  2. Not Responding durumundaki Process’leri bulmak
  3. C# siz olsanız hangisini yazardınız?
  4. Ayın ilk ve son gününü bulmak için Extension Method
  5. C# Try-Catch-Finally Kod Bloğu Hakkında

  1. Henüz yorum yapılmamış.
  1. Henüz geri dönüş yok.