BAĞLANTILARIM

Takip Edin:

0

Farklı yöntemler kullanarak program açıkken ikinci kez açılmasını engellemek

Salı, Haziran 10, 2014 / / ,

Windows uygulamalarında program eğer çalışıyorsa ikinci kez açılmasını engellemek için aşağıdaki farklı yöntemlerden projemizin yapısına uygun olanı kullanabiliriz.

1-Sistemde çalışan uygulamalar arasından ilgili isme sahip programın açıklık sayısını kontrol et.

            if (Process.GetProcessesByName("YazarKasaAktarim").Length > 1)
            {
                //zaten çalışıyor
                MessageBox.Show("Programın bir örneği şu an açık!");
            }
            else
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new frmGiris());
            }

2-Çalışan uygulamayı bul ve kapat.


            Process[] calisanIslem = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
            foreach (Process islem in calisanIslem)
            {
                if (Process.GetCurrentProcess().Id != islem.Id)
                {
                    islem.Kill();
                }
            }


3-Mutex yöntemi.


            bool yeniOlusan;
            Mutex m = new Mutex(true, "Yazar Kasa Aktarım", out yeniOlusan);
            if (!yeniOlusan)
            {
                MessageBox.Show("Programın bir örneği şu an açık!", "Yazar Kasa Aktarım");
                return;
            }



İkinci yöntemde program açıksa programı kapattığından ekranda yarım kalmış bir çalışma olabilir. Kapatıldığında kullanıcı bunları kaybetmiş olur. Programı kapatıp açmaktansa; kullancıya programın açık olduğunu söylemek ve programın yeniden açılmasını engellemek daha sağlıklı olur.


Bu yöntemlerin tamamını  aşağıdaki metod içinde kullandık.

static void Main()
        {
}

0 yorum

SON YORUMLAR