corriendo mi aplicacion

21/07/2005 - 16:08 por luis | Informe spam
hola grupo, esoty haciendo mi aplicacion y quisiera que
solo pudiera estar corriendo 1 sola , es decir, que
deberia de incluir algun codigo en el form load de mi
aplicacion para ver si ya esta corriendo mi aplicacion
por ejemplo: el msn, no se puede abrir 2 veces la misma
aplicacion si son de la misma version.

Preguntas similare

Leer las respuestas

#1 Norberto Planchart
21/07/2005 - 18:40 | Informe spam
Hola Luis

Mira puedes usar esto:
using System.Diagnostics;

[STAThread]
static void Main()
{
if (! PrevInstance())
Application.Run(new Form1());
else
MessageBox.Show("Ya hay una instancia abierta");
//Application.Exit();
}

private static bool PrevInstance()
{
Process[] procesos =
Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
return (procesos.Length > 1);
}

Norberto Planchart, MCSD.Net
Caracas - Venezuela
-Como no sabían que era imposible, lo hicieron.-


"luis" wrote in message
news:003b01c58dfd$b6af9610$
hola grupo, esoty haciendo mi aplicacion y quisiera que
solo pudiera estar corriendo 1 sola , es decir, que
deberia de incluir algun codigo en el form load de mi
aplicacion para ver si ya esta corriendo mi aplicacion
por ejemplo: el msn, no se puede abrir 2 veces la misma
aplicacion si son de la misma version.
Respuesta Responder a este mensaje
#2 Angel J. Hernández M.
21/07/2005 - 23:49 | Informe spam
Luís, la manera como consigues eso es a través de un Mutex (Mutual
Exclusion). El cuál es un mecanismo de sincronización de hilos. Un ejemplo
de aplicaciones que hacen uso de ello es MSN Messenger, Windows Media
Player. A continuación te muestro como lo podrías utilizar.

using System.Threading; // Necesario para utilizar el MUtex

[STAThread]
static void Main() {
bool mimutex = false;
using(Mutex mutex = new Mutex(true, "Instancia_Unica", out mimutex)) {
if (mimutex) {
Application.Run(new Form1());
mutex.ReleaseMutex();
} else MessageBox.Show("Solo puede existir una instancia de esta
aplicación");
}
}

Saludos,


Angel J. Hernández M.
MCP - MCAD - MCSD - MCDBA
http://groups.msn.com/desarrolladoresmiranda
http://www.consein.com




"luis" wrote in message
news:003b01c58dfd$b6af9610$
hola grupo, esoty haciendo mi aplicacion y quisiera que
solo pudiera estar corriendo 1 sola , es decir, que
deberia de incluir algun codigo en el form load de mi
aplicacion para ver si ya esta corriendo mi aplicacion
por ejemplo: el msn, no se puede abrir 2 veces la misma
aplicacion si son de la misma version.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida