La Web del Programador: Comunidad de Programadores
 
    Pregunta:  7482 - MOSTRAR UNA APLICACION OCULTA AL LLAMAR NUEVAMENTE AL EXE
Autor:  Ivan Alexis
Hola,me gustaria saber como hacer para q si ejecuto una aplicacion,y ya hay una instancia previa de la aplicacion ejecutandose,pero esta esta oculta,q en vez de ejecutarse de nuevo la aplicacion,lo q ocurra sea q se me haga visible la instancia q tenia oculta.Muchas Gracias

  Respuesta:  AP Soft
Existe una forma de hacer lo que precisas, pero que sólo enfoca aplicaciones NO MINIMIZADAS. Para probar, crea un proyecto nuevo, inserta el código que incluyo a continuación, y compila el proyecto.
Después, ejecutalo sucesivamente dos veces.
Existen medios para MAXIMIZAR una Aplicación minimizada mediante el uso de la API de Windows. Si precisas información, enviame un E-Mail a [email protected]

Private Sub Form_Load()
' Si ves la ayuda correspondiente a la instrucción
' "AppActivate", dice que en el caso de existir dos
' aplicaciones en ejecución con el mismo título, se
' activa arbitrariamente una u otra. En la práctica,
' lo que sucede SIEMPRE que yo lo he probado, es que
' se intenta activar la segunda instancia, lo que en
' este caso, en que AppActivate se incluye en el pro-
' cedimiento _Load, provoca un error de tiempo de eje-
' cución. Por ésta razón, el formulario carece de pro-
' piedad "Caption" -que da el título a la aplicación
' en ejecución- y sólo se cumplimenta ésta en el su-
' puesto de que no haya otra instancia previa.
' ATENCION. "AppActivate" NO MAXIMIZA una ventana mi-
' nimizada. Sólo la enfoca.
If App.PrevInstance Then
' Existe una instancia previa en ejecución. Enfoco di-
' cha instancia...
AppActivate "Primera instancia de la Aplicación"
' ...y descargo ésta segunda.
Unload Me
Else
' No hay instancia previa. Cumplimento título de la
' Aplicación.
Me.Caption = "Primera instancia de la Aplicación"
End If
End Sub

  Respuesta:  Ariel Hualpa
Lo que debes hacer es preguntar durante la carga si ya hay una instancia de tu programa corriendo, para ello usa App.PrevInstance. Esto te responde con True si tu programa ya esta corriendo y false caso contrario. Luego lo unico que tienes que hacer es poner la propiedad visible de tu form a True si quieres que se vea.

Si quieres un ejemplo escribeme.