首页 > 解决方案 > 在 WPF 应用程序中运行的多个 Exes

问题描述

我的解决方案有 3 个 wpf 应用程序,每个应用程序都是一个 exe。主 exe(称为 Parent)有一个菜单,我想从中调用(打开)其他两个 exe。我可以通过 process.start (myexe) 来做到这一点,并将其分配给父应用程序的窗口句柄。

但是,我希望在我的 wpf 主窗口的特定内容控件(或 tabitem 或棱镜区域)内打开新的 exe。我也尝试过使用 Prism,但我无法将 exe 的主视图分配给一个区域。
我无法从子进程的句柄中获取视图(用户控件)并将其分配给父应用程序主视图的内容控件。
无论如何,最终结果都应该在任务管理器中打开多个 exe(我已经实现),但它们浮动在父应用程序中,我的主要目的是在主应用程序的某个指定控件中显示它们。



有人可以指导如何实现这一目标吗?

标签: c#wpfhwndhost

解决方案


如果您绝对别无选择,那么您可以使用已经为您制作的类似产品。https://www.codeproject.com/Tips/673701/Hosting-EXE-Applications-in-a-WPF-Window-Applicati

您定义将在 xaml 中托管应用程序的控件。

<local:AppControl x:Name="appControl" />

然后在后面的代码(或其他方式)中指定要嵌入的 exe 的路径:

appControl.ExeName = "notepad.exe";
this.Unloaded += new RoutedEventHandler((s, e) => { appControl.Dispose(); });

WPF 窗口中还有这个托管外部应用程序,它与您想要做的事情非常相关。


推荐阅读