Hola Jc. Cacho tiene razón, en cuanto a las apis, lo que sucede es que vas a tener que ubicarlas conforme corresponde, ya que con algunas tomas el handle inicial del sistema , con otras recorrés todos los hadles existentes y con otra tomas el título de cada una de las aplicaciones existentes. por ejemplo:
Private Declare Function FindWindow Lib \"user32\" Alias \"FindWindowA\" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib \"user32\" Alias \"PostMessageA\" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function GetClassName Lib \"user32\" Alias \"GetClassNameA\" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function ShowWindow Lib \"user32\" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Const SW_SHOWNORMAL = 1
Const WM_CLOSE = &H10
Const gcClassnameMSWord = \"OpusApp\"
Const gcClassnameMSExcel = \"XLMAIN\"
Const gcClassnameMSIExplorer = \"IEFrame\"
Const gcClassnameMSVBasic = \"wndclass_desked_gsk\"
Const gcClassnameNotePad = \"Notepad\"
Const gcClassnameMyVBApp = \"ThunderForm\"
Private Sub Form_Load()
Dim WinWnd As Long, Ret As String, RetVal As Long, lpClassName As String
\'Pregunta por el Título de la Ventana
Ret = InputBox(\"Ingrese exactamente el Título de la Ventana:\" + Chr$(13) + Chr$(10) + \"Nota: Tiene que se exacto\")
\'Busca la ventana
WinWnd = FindWindow%