Visual Studio'da form ile bir çalışma yapıyorum. Fakat bu form açıkken tekrar açılamayacak. Bunu araştırdım ama bir türlü yapamadım.
Aynı exe 2 kere çalıştırılamasın diyorsunuz sanırım, internette şöyle bir şey buldum.
public static Mutex mutex = new Mutex(true,"değer"); //Buradaki değerin unique olması gerekiyor aynı değere sahip 2 program olursa bilgisayarda farklı programlar olsa dahi açılmazlar
[STAThread]
static void Main()
{
if(mutex.WaitOne(TimeSpan.Zero,true))
{
//Buraya Main() içindeki kodlar
}
else
{
MessageBox.Show("Program zaten çalışıyor.");
Application.Exit();
}
}
Programı kapatırken ise;
mutex.ReleaseMutex(); //Bunu her programı kapatacağınız yere eklemeniz gerekir.
public static Mutex mutex = new Mutex(true,"değer"); //Buradaki değerin unique olması gerekiyor aynı değere sahip 2 program olursa bilgisayarda farklı programlar olsa dahi açılmazlar
[STAThread]
static void Main()
{
if(mutex.WaitOne(TimeSpan.Zero,true))
{
//Buraya Main() içindeki kodlar
}
else
{
MessageBox.Show("Program zaten çalışıyor.");
Application.Exit();
}
}Bu kodu nereye yapıştırmam gerekiyor?
Sorunu bu konu (https://mustafabukulmez.com/2018/06/18/c-sharp-ile-programin-tek-sefer-acilmasi/) yardımıyla hallettim. İhtiyacı olan arkadaşlar için linki bıraktım. K&A.