Bir uygulamayı aynı anda birden fazla çalıştırmamak

Aynı programın tekrar açılmasını engellemek için birden fazla çözüm var ancak ben kolaylık açısından kullandığım Mutex metodunu göstereceğim.

[csharp]

static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
bool ilkUygulama;
//Mutex nesnesi oluşturalım
Mutex mtx = new Mutex(true, "BenimMutex", out ilkUygulama);
//ilk parametre bool türünde mutex’i sahiplenmek için kullanılır. 2.Parametre mutex’i tekilleştirmek için bir isim veriler. Üçüncü parametre ise başarılı veya başarızı sonucu bildiren değeri tutmak için kullanılır.
if (!ilkUygulama)
{
MessageBox.Show("Program şuan çalışıyor. Tekrar Açılamaz.");
return;
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
GC.KeepAlive(mtx); //Nesnemizi bellektek atalım.
}
}

[/csharp]

Ekran görüntümüz.

Ekran görüntümüz.

Mesut Güneş

Selçuk Üniversitesi Bilgisayar programcılığı bölümünden mezun olduktan sonra birçok firmada Yazılım, İş zekası ve Veritabanı Uzmanı olarak çalıştım. Şuan Türkiye’nin en büyük şirketlerinden biri olan Doğan Online’da Veritabanı Yöneticisi olarak çalışıyorum.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.