bueno creo que si hay una forma o varias formas pero yo utilizo este codigo
esto va en un Modulo
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Const STILL_ACTIVE = &H103
Const PROCESS_QUERY_INFORMATION = &H400
Public Sub ExecCmdNoFocus(ByVal CmdLine As String)
Dim hProcess As Long
Dim RetVal As Long
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, _
Shell(CmdLine, vbNormalFocus))
Do
GetExitCodeProcess hProcess, RetVal
DoEvents
Sleep 100
Loop While RetVal = STILL_ACTIVE
MsgBox "El Proceso Termino", vbInformation, "Info"
End Sub
Esto va en el form pones un boton cmdAbrir
Private Sub cmdAbrir_Click()
Call ExecCmdNoFocus(App.Path & "\miexe.exe") 'aqui llamas a tu aplicacion externa
End Sub
eso es too espero q te sirva