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 makaleler

blog comments powered by Disqus

Engin Polat hakkında

Chief Architect, Microsoft RD, Microsoft MVP

Ada ve Ege'nin babası ;)

Kategoriler

İstatistik

Makale Adedi: 459

Creative Commons Lisansı