C# Programın Birden Fazla Açılmasını Engelleme

c# sharp ile yaptığınız programı birden fazla açılmasını engellemek isteyebilirsiniz bu yazı da zaten buna değinmek için açıldı.

Kodları nerede kullanılması gerekiyor buna değinelim. visual studio ile formunuz açıkken orta blokun sağ tarafında bir sekme görüyor olacaksınız burada ise “WindowsFormsApplication1” eğer ismini değiştirmediyseniz hemen altta “Program.cs” göreceksiniz. “Program.cs” açtıktan sonra aşağıdaki örnek kodları düzenleyerek ekleyin ardından test edebilirsiniz.

Ekran görüntüsünü ise hemen şu şekilde yer verelim.

Ekran görüntüsünde belirtildiği gibi ekran görüntüsünün anlık görüntüsüdür siz istediğiniz gibi değişiklikler uygulayabilirsiniz.

Şimdi ise aşağıya hemen kodlarımızı yerleştirelim ve isteyenlerde istediği gibi istediği şekilde kullanabilir.

Kütüphaneyide yüklüyoruz ve;

using System.Threading;

daha sonra uygun yere aşağıdaki kodları tamamında kullanabilirsiniz.

            bool kontrol;

            Mutex mutex = new Mutex(true, "Program", out kontrol); //Örnek Mutex nesnesi oluşturalım. 
            if (kontrol == false)
            {
                MessageBox.Show("Program zaten çalışıyor !!.", "Dikkat", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            Application.Run(new Form1());
            GC.KeepAlive(mutex); //Nesneyi kaldırıyoruz. 

Bizim kullandığımız kodlar tamamı ise;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;

namespace WindowsFormsApplication1
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            //Application.EnableVisualStyles();
            //Application.SetCompatibleTextRenderingDefault(false);
            //Application.Run(new Form1());

            // başla ve iki program aynı anda çalıştırmayı engelle
            bool kontrol;

            Mutex mutex = new Mutex(true, "Program", out kontrol); //Örnek Mutex nesnesi oluşturalım. 
            if (kontrol == false)
            {
                MessageBox.Show("Program zaten çalışıyor !!.", "Dikkat", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            Application.Run(new Form1());
            GC.KeepAlive(mutex); //Nesneyi kaldırıyoruz. 
        

       }
    }
}

Hoşca kalın.

Kaynak: https://akifsafayildiz.wordpress.com/ + https://www.sanaldata.com/

Bir cevap yazın

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