Jak zapobiegać wielu instancjom danej aplikacji w .NET?

W .NET, jaki jest najlepszy sposób, aby zapobiec uruchomieniu wielu instancji aplikacji w tym samym czasie? A jeśli nie ma „najlepszej” techniki, jakie zastrzeżenia należy rozważyć przy każdym rozwiązaniu?

2 odpowiedzi

Za wszystkie pomysły z góry dziękuję!

Użyj Mutex:

[STAThread]
static void Main() 
{
   using(Mutex mutex = new Mutex(false, "Global\\" + appGuid))
   {
      if(!mutex.WaitOne(0, false))
      {
         MessageBox.Show("Instancja już działa");
         return;
      }

      Application.Run(new Form1());
   }
}

private static string appGuid = "c0a76b5a-12ab-45c5-b9d9-d693faa6e7b9";

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.