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

Mostrar un programa desde C#

Estas en el tema de Mostrar un programa desde C# en el foro de .NET en Foros del Web. Buenos Dias A todos. Necesito que si mi programa esta abierto, lo muestre. Si no esta abierto (ejecucion) lo inicie. Es conclusion no quiero tener ...
  #1 (permalink)  
Antiguo 17/05/2012, 10:27
Avatar de giovani_loera  
Fecha de Ingreso: mayo-2011
Ubicación: Tijuana
Mensajes: 225
Antigüedad: 13 años
Puntos: 21
Mostrar un programa desde C#

Buenos Dias A todos.

Necesito que si mi programa esta abierto, lo muestre.
Si no esta abierto (ejecucion) lo inicie.

Es conclusion no quiero tener 2 programas iguales (solo los programas creados por mi).


De Antemano Gracias
  #2 (permalink)  
Antiguo 17/05/2012, 10: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: Mostrar un programa desde C#

Hola giovani_loera eso lo puede controlar con un NotifyIcon si es que manejas un MDI. De manera que cuando minimizas este MDI se esconja en un icono en la Barra de Tareas, y cuando le des doble clic al icono que le hayas asignado se abra el MDI.
Ahora con respecto a que si ya tienes una aplicacion abierta y no quieres que se habra otra eso lo puedes controlar en el Program.cs en el metodo Main() de esta manera :
Código C:
Ver original
  1. [STAThread]
  2.         static void Main()
  3.         {
  4.  
  5. // Obtiene el nombre del proceso de nuestra aplicacion que se esta ejecutando
  6.             string processName = Process.GetCurrentProcess().ProcessName;
  7.  
  8.             Process[] instances = Process.GetProcessesByName(processName);
  9.  
  10.             if (instances.Length > 1)
  11.             {
  12.                 MessageBox.Show("La aplicación ya se está ejecutando.", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  13.                 return;
  14.             }
  15.             else
  16.             {
  17.                 Application.Run(new TUFORMULARIO());
  18.             }
  19. }
Ahora te explico lo del notifyicon. Mientras trata de implementar la restriccion de doble ejecucion. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 17/05/2012, 11:15
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: Mostrar un programa desde C#

Lo del NotifyIcon lo agregas al MDI y en sus propiedades cambias lo siguiente :
Cita:
Visible = True
Icon = (Seleccionas tu icono, recuerda que esto es importante porque sino no se visualiza nada)
Text = (El texto que quieres que se muestre cuando pases el puntero del mouse sobre el icono)
Ahora en sus eventos del NotifyIcon dirigete a MouseDoubleClick y dale doble click alli para que se genere tu evento y dentro colocas lo siguiente :
Código C:
Ver original
  1. //Hacemos visible el formulario
  2. this.Show();
  3. //Aqui le colocas Maximized si quieres que ocupe toda la pantalla
  4. // o Normal para que tome su forma inicial
  5. this.WindowState = FormWindowState.Maximized;
  6. //Si quieres lo puedes ocultar o dejarlo visible cuando el form
  7. //se muestre
  8. notifyIcon1.Visible = false;

Luego dirigete al formulario principal y en sus eventos dirigete a Resize y generalo, dentro de ello colocas :
Código C:
Ver original
  1. //Si el estado actual de la ventana es "minimizado"...    
  2.                 if (this.WindowState == FormWindowState.Minimized)
  3.                 {
  4.                     //Ocultamos el formulario
  5.                     this.Visible = false;
  6.                     //Hacemos visible el icono de la bandeja del sistema
  7.                     notifyIcon1.Visible = true;
  8.                     //Mostramos un mensaje para que el usuario sepa el modo del sistema
  9.                     notifyIcon1.ShowBalloonTip(10, "MISISTEMA", "Haga doble clic en el icono para mostrar el sistema", ToolTipIcon.Info);
  10.                 }

Y finalmente cuando cierres el sistema tiene que desaparecer el icono de la barra de tareas, por lo que que nos dirijimos al evento FormClosing del MDI y ocultamos el notifyicon :
Código C:
Ver original
  1. notifyIcon1.Visible = false;
Espero haber solucionado tu duda!. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: programa
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 03:23.