Что ж, после запуска приложения и сохранения его PID, вы можете начать мониторинг создаваемых окон, либо через CBTHook, либо просто используя таймер и GetWindows, чтобы найти, когда окно верхнего уровня создается PID в вопрос.
Затем вы можете использовать SetParent, чтобы сделать это окно дочерним для вашего MDIChild (я сомневаюсь, что вы можете сделать его вашим MDIChild напрямую).
Это должно помочь тебе. С чем вы столкнетесь после этого, я действительно не знаю. Я предполагаю, что вы должны соотнести любое движение вашего приложения или внешнего приложения так, чтобы три окна выглядели слипшимися ...
Майбо, вы можете удалить заголовок из внешнего приложения (Get / SetWindowsLong). Это могло бы заставить его выглядеть лучше ...