Foros del Web » Programación para mayores de 30 ;) » .NET »

evitar abrir un sistema mas de una vez

Estas en el tema de evitar abrir un sistema mas de una vez en el foro de .NET en Foros del Web. Buenas Tardes! tengo una incognita que talvez me la puedan aclarar como hago para evitar abrir una aplicacion c# mas de una vez? espero me ...
  #1 (permalink)  
Antiguo 13/01/2011, 12:06
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Pregunta evitar abrir un sistema mas de una vez

Buenas Tardes! tengo una incognita que talvez me la puedan aclarar como hago para evitar abrir una aplicacion c# mas de una vez? espero me puedan ayudar con esto Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #2 (permalink)  
Antiguo 13/01/2011, 13:12
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: evitar abrir un sistema mas de una vez

Que tal Aquaventus, puedes utilizar algo como esto, el código esta en VB nada mas es que los pases a C#

Código vb:
Ver original
  1. 'Creas una funcion como esta
  2. Function PrevInstance() As Boolean
  3.  If UBound(System.Diagnostics.Process.GetProcessesByName(System.Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0 Then
  4.     Return True
  5.     Application.DoEvents()
  6.  Else
  7.     Return False
  8.     Application.DoEvents()
  9.  End If
  10. End Function

Y en el evento Load de tu form principal haces la validación:
Código vb:
Ver original
  1. If PrevInstance() = True Then
  2. Application.DoEvents()
  3. MessageBox.Show("Ya Existe Una Instancia Abierta De La Aplicación", "Seguridad", MessageBoxButtons.OK, MessageBoxIcon.Warning)
  4. Application.Exit()
  5. End If


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #3 (permalink)  
Antiguo 13/01/2011, 13:39
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: evitar abrir un sistema mas de una vez

Gracias compañero! hize unos cambios y da a la perfeccion. Saludos!. Posteo el code en c#.

Metodo de calcular si ya existe la misma la aplicacion en ejecucion
Código c#:
Ver original
  1. public bool PrevInstance()
  2.         {
  3.             Int32 cont = 0;
  4.             System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcesses();
  5.  
  6.             foreach (System.Diagnostics.Process process in processes)
  7.             {
  8.                 if (process.ProcessName.Equals(System.Diagnostics.Process.GetCurrentProcess().ProcessName))
  9.                 {
  10.                     cont += 1;
  11.                 }
  12.             }
  13.             if (cont > 1)
  14.             {
  15.                 return true;
  16.                 Application.DoEvents();
  17.             }
  18.             else
  19.             {
  20.                 return false;
  21.                 Application.DoEvents();
  22.             }
  23.         }

Se llama al metodo en el load principal
Código c#:
Ver original
  1. if (PrevInstance() == true)
  2.             {
  3.                 Application.DoEvents();
  4.                 MessageBox.Show("Ya Existe Una Instancia Abierta De La Aplicación", "Seguridad", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  5.                 Application.Exit();
  6.             }
  7.             else
  8.             {
  9.                 /****MOSTRAR LA APLICACION U OTRAS COSAS SEGUN TU REQUERIMIENTO****/
  10.             }
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: mas, sitemap
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:31.