在.NET中的Win窗体中嵌入不同的应用程序

如何在一个窗体中嵌入两个不同的应用程序?

假设我有一个应用程序计算和网络摄像头,我希望它们以表格forms显示?

不需要proccess.start()….

我想您可能正在寻找SetParent Windows API调用 。

为此,您需要导入相关的API调用:

[DllImport("user32.dll")] static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); 

在文件顶部添加using指令:

 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); 

这应该有用,但我经历过一些奇怪的行为,一般来说,如果可能的话我会避免它。