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.
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484