martes, 7 de octubre de 2008

Permitir una sola instancia de un programa

Muchas veces necesitamos que una aplicacion corra una unica vez, he aqui una forma de hacerlo.
En el Program.cs incluyan el siguiente codigo:

Mutex instanceLock = new Mutex(false, "Nombre del Assembly");
if (instanceLock.WaitOne(0, false))
{
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());
}
finally
{ instanceLock.ReleaseMutex(); }
}
else
{
MessageBox.Show("No se puede ejecutar 2 veces");
Application.Exit();
}

No hay comentarios: