La Web del Programador: Comunidad de Programadores
 
    Pregunta:  3898 - PONER VISIBLE UNA APLICACIÓN ABIERTA CON SHELL, 0
Autor:  Jose G. Montalvo
Como se puede volver visible una aplicacion que ha activado invisible con
RetVal = Shell("C:\WINDOWS\CALC.EXE", 0)

  Respuesta:  Daniel Catalá Pachés
´En el modulo
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpszClassName As String, ByVal lpszWindow As String) As Long

´En mi aplicación consegui poner un icono con el gráfico de una calculadora que la ponía en primer plano.
´Es util si quiere por ejemplo que tu aplicación cuente con un bloc de notas y poder crear un texto nuevo, o recuperar el existente con el mismo botón.

´Este es el misterio de la aplicación.
Private Sub imgCalc_Click()
´Hace la busqueda por el Titulo
If FindWindow(vbNullString, "Calculadora") Then
On Error Resume Next
´Este método activa la aplicación pasandole el control de ventana idCalc
´que hemos grabado la primera vez al cargarla.
AppActivate idCalc
Exit Sub
End If

idCalc = Shell("C:\windows\calc.exe", vbNormalFocus)
End Sub

  Respuesta:  juan cecconi
Mira, definitivamente tendras que utilizar las maravillosas API´s . Una opcion que se me ocurre (nunca lo he intentado) es utilizar la funcion FindWindow invocando la misma con el titulo de la ventana a buscar. Tambien podrias hacerlo haciendo una enumeracion de las ventanas con otra api (creo que EnumWindow) y busques de nuevo la ventana por el titulo.
Una vez que obtienes el manipulador de la ventana puedes llamar una funcion que maneje las caracteristicas de esta ventana, creo que podes hacerlo con SetWindowPos y con la opcion de flag setear la opcion de visibe o alguna otra!!!
Tal vez las apis no sean las correctas 100% pero si no son estas son alguna relacionada que figurara en la Ayuda (en la parte inferior, donde dice "See Also")!!!