我已经搜遍了所有内容并将其合并到我的代码中:
Process process = new Process();
process.StartInfo.FileName = exePath; //this is a valid path
process.Start();
Thread.Sleep(500);
process.WaitForInputIdle();
SetParent(process.MainWindowHandle, this.Handle);
然而,它通常在自己的窗口中而不是在我的主窗体内启动程序。
答案 0 :(得分:0)
我找到了一个可能的解决方案here。
我没有测试过代码。
您需要确保在父表单上将IsMdiContainer设置为true。
以下是实施:
Form child = new Form();
Assembly asm = Assembly.LoadFile("c:\\executablefile.exe ");
Type type = asm.GetType("WindowsForm", true, true);
object childform = Activator.CreateInstance(type);
child = (Form)childform;
child.MdiParent = this;
child.Show();