c# - 在 .NET 的 Win Form 中嵌入不同的应用程序

标签 c# .net winforms embed

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

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

不仅仅需要 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/

相关文章:

c# - 如何使用c#获取其他进程的环境变量

c# - 你如何在winforms中使用通用对象绑定(bind)?

c# - 使用位图作为缓冲区绘制到面板

c# - 厚壁二维迷宫中的碰撞检测

c# - VS Code Omnisharp.MsBuild.Projectmanager 无法加载程序集 System.Numerics.Vectors 4.1.3.0

c# - 通用 Windows 应用程序与 .NET Framework 版本之间的关系

c# - 如何决定每个用户状态的存储位置?注册表?应用程序数据?隔离存储?

wpf - Visualstudio 如何知道当前项目的类型?

c# - WPF如何连接MYSQL?

c# - sql查询中的最大参数个数