Según la ayuda del SDK de Windows, si ejecutas la aplicación externa usando CreateProcess puedes pasar el 'handle' del proceso creado a la función WaitForInputIdle la cual detiene el flujo de tu aplicación hasta que el nuevo proceso esté listo para recibir entrada del usuario.
Quizá esto te pueda servir.
// Saludos
|