Я думаю, что вы можете искать SetParent Windows API call .
Для этого вам нужно импортировать соответствующий вызов API:
[DllImport("user32.dll")]
static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
Добавить используя директивы вверху файла:
using System.Diagnostics;
using System.Runtime.InteropServices;
Запустите внешний и позвоните на него SetParent
(здесь мы используем блокнот):
Process notepad = new Process();
ProcessStartInfo psi = new ProcessStartInfo("notepad.exe");
psi.WindowStyle = ProcessWindowStyle.Normal;
notepad.StartInfo = psi;
notepad.Start();
notepad.WaitForInputIdle(3000);
SetParent(notepad.MainWindowHandle, this.Handle);
Это должно сработать, но я испытал какое-то странное поведение с ним, в общем, я бы избегал этого, если это возможно.