Merhaba, bu yazıda size “C# Programın Birden Fazla Açılmasını Engelleme” hakkında bilgi vereceğim.
C# Programın Birden Fazla Açılmasını Engelleme Nerede İşimize Yarar ?
Programın bir den fazla açılması bazen sorunlara yol açabilir. Örneğin programınızın içinde bir bölümü kontrol eden bir servis var ve program iki veya daha fazla açık olursa burayı sürekli kontrol eder ve programınızda mükerrer kayıtlar oluşmasını sağlar.
Mutex Nedir ?
Mutex (Mutual Exclusion) bir thread’in çalışmasını izin verir ve işlemlerin kesilmesini engeller. Mutex program çalıştığında programı sürekli gözetlemektedir. Bunun sonucunda programı birden fazla açılmasını engelleyebiliriz.
Bu yapacağımız örnek projenin “Program.css” kısmında yapılmaktadır. Mutex’i kullanabilmemiz için aşağıdaki kodu eklememiz gerekmektedir.
1 | using System.Threading; |
“Static void Main()” bloguna aşağıdaki kodları yazıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 | bool AcikUygulamaVar = false; Mutex m = new Mutex(true, "PaketServis", out AcikUygulamaVar); if (AcikUygulamaVar) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new frmLogin()); } else { MessageBox.Show("Uygulamadan aynı anda bir tane açabilirsiniz!", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Error); } |
Projemizin “Program.css” bölümüne gerekli kodlamayı yaptıktan sonra mutex sınıfı sayesinde programımızın birden fazla açılmasını engellemiş oluyoruz
Soru ve görüşleriniz için [email protected] adresine mail atabilirsiniz.