hola bueno buscando no encontre un manual sobre las ventanas y como manipularlas osea que si darle el foco minimizar escribir en está etc....
El que busca encuentra brache, este ejemplo lo dejo Hades hace algún tiempo:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
'Esta rutina la tome de un ejemplo del maestro "Hades,-"
Private Sub Focus(Cadena As String, Accion As Byte)
Dim Handle As Long
Handle = FindWindow(vbNullString, Cadena) 'Buscamos la ventana
If Handle <> 0 Then
ShowWindow Handle, Accion 'Mostramos la ventana
End If
End Sub
Private Sub CmdFocus_Click()
Focus "Sin título - Bloc de notas", 1 'Le das el focus
End Sub
Private Sub CmdNoFocus_Click()
Focus "Sin título - Bloc de notas", 2 'Le quitas focus
End Sub
Private Sub Form_Load()
Shell ("notepad.exe") 'Ejecutas el notepad
End Sub
Se controla el focus de una ventana, el handle lo sacas usando el nombre de la ventana y el api FindWindow y la muestras o no usando la otra ShowWindow.
Lo demas buscalo tú, la forma mas efectiva, la que te dejo EON
Edito: mas abajo se hablo de algo parecido, lo que pasa por no buscar
http://foro.elhacker.net/index.php/topic,205617.0.html