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.

blog comments powered by Disqus

Engin Polat hakkında

Chief Architect, Microsoft RD, Microsoft MVP

Ada ve Ege'nin babası ;)

Kategoriler

İstatistik

Makale Adedi: 452

Creative Commons Lisansı