¿Cómo evitar que una aplicación se ejecute varias veces?

publicado por: Anonymous

Desearía saber cómo poder evitar que cuando se ejecute mi aplicación desktop se pueda volver a ejecutar, es decir, tener 2 instancias corriendo de mi aplicación.

Gracias!

solución

Mediante Mutex es otra opción

bool nuevaInstancia;
using (Mutex mutex = new Mutex(true, Process.GetCurrentProcess().ProcessName, out nuevaInstancia ))
{
   if (nuevaInstancia )
   {
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     Application.Run(new MainForm());
  }
}

Podrías también en caso de que ya este en ejecución mostrar la ventana de la instancia actual por medio de SetForegroundWindow del user32.dll

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *