在Windows窗体应用程序中运行外部exe

时间:2011-10-14 02:05:18

标签: c#

我有一个c#驱动的Windows窗体应用程序,我想在其中运行一个exe。该程序是另一个单独的可执行文件。让我们说那个exe不是一个点网应用程序,但用另一种语言编写,这有关系吗?

所以我希望那个程序能够存放在我的winforms中,我该怎么做?另外,我可以把它放在winforms的任何地方吗?是否有像默认情况下已包含的属性?谢谢。你试过这些吗?如果是这样,采取的步骤是什么?谢谢stackoverflow建立了一个很好的开发者社区。我真的很珍惜这个

2 个答案:

答案 0 :(得分:5)

您可以通过PInvoking SetParent()

来完成此操作
[DllImport("user32.dll")]
        static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);

首先,您需要在应用程序中启动第三方应用程序:

var clientApplication = Process.Start("PATH_TO_YOUR_EXECUTABLE");

然后将MainWindowHandle设置为主窗口句柄:

SetParent(clientApplication.MainWindowHandle, YourMainWindowOrAContainerControl.Handle);

答案 1 :(得分:0)

!Cod_Item = Trim(Reg(objCodItem))

参考fardjad但它只能运行像记事本,火狐,野生动物园这样的小程序