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

本文关键字:应用程序 net Win 窗体 | 更新日期: 2023-09-27 18:06:01

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

假设我有一个关于计算和网络摄像头的应用程序,我想把它们显示在一个表格中?

不需要只需要process .start()....

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

我想你可能正在寻找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);

这应该可以工作,但是我遇到了一些奇怪的行为,一般来说,如果可能的话,我会避免它。