如何在一个窗口窗体中嵌入两个不同的应用程序?
假设我有一个关于计算和网络摄像头的应用程序,我希望它们以表格形式显示?
不仅仅需要 process.start()....
最佳答案
我想您可能正在寻找 SetParent Windows API call .
为此,您需要导入相关的 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);
这应该可行,但我经历过一些奇怪的行为,一般来说,如果可能的话我会避免它。
关于c# - 在 .NET 的 Win Form 中嵌入不同的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7083969/