C# Programın Birden Fazla Açılmasını Engelleme | Akif Safa Yıldız
Mutex (Mutual Exclusion), sadece bir thread’e izin verir ve proses’lerin kesilmesini engeller. Mutex, program çalıştığı anda sistemi hep gözetlemektedir bu sayede aynı programın birden fazla açılmasını engelleyebiliriz.
Windows Form Application’ı seçip projenize vereceğiniz ismi Name kısmına yazıp OK butonuna basıp projemizi oluşturuyoruz.
Mutex sınıfını kullanabilmek için öncelikle projenin Program.cs‘sine “using System.Threading;” kütüphanesini projemize eklememiz gerekmektedir.
Projenin Program.cs‘sine gerekli kodlamayı yaptıktan sonra projemiz Mutex sınıfı ile birden fazla açılması engelleniyor.
Bu yöntem dışında System.Diagnostics.Process sınıfı kullanılarakta aynı işlemi yapabiliriz.
Projenin Program.cs‘sine gerekli kodlamayı yaptıktan sonra projemiz System.Diagnostics.Process sınıfı ile birden fazla açılması engelleniyor.
Mutex mutex = new Mutex(true, "Program", out kontrol); //Örnek Mutex nesnesi oluşturalım.
MessageBox.Show("Bu program zaten çalışıyor.");
Biçim GörselYayın tarihi 29 Aralık 2014 4 Ağustos 2017 Yazar asyildizKategoriler C#Etiketler bir programın birden fazla çalışmasını engellemek, c sharp, mutex, thread, uygulamayı birden fazla açmayı engelleme
“C# Programın Birden Fazla Açılmasını Engelleme” üzerine 2 yorum
Can Ayberk dedi ki:
10 Şubat 2015, 20:25
Hepsi güzel paylaşımlar emeğinize sağlık fakat paylaştıklarınız c# ‘ a başlayan insanlar için çok anlamsız ve boş şeyler aslında sayfada direk c# anlatılsa (basit seviye ) çok faydalı bir sayfa olabilir
Can ayberk’in dediğine katılmıyorum. Sadece basit şeyler her yerde var. Anlamsız ve boş gören gitsin “Hello World” yazsın. 🙂 Bir de bu konuyla ilgili bir soru soracaktım. Şimdi programım otomatik bir işlem giriş paneli görevi görüyor. Bu işlemi yaparken ben başında olmamalıyım. Çünkü bir veritabanına farklı kaynaklardan veri giriyor ve günler sürecek. Program her restart attığında tekrar açılıyor ama önceki de açık kalıyor. Benim yapmak istediğim sonradan açılanı engellemek yerine öncekini kapatmak. Bunu nasıl yapabiliriz? “10:35 te açılmış program 10:45 te açılan aynı program tarafından kapatılsın” ve böyle devam etsin.
Önceki Önceki yazı: C# Bekletme Ekranı (Splash Screen) Oluşturma
Sonraki Sonraki yazı: C# NotifyIcon Kullanımı