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

Wan*_*tIt 2 c#

我有ac#powered windows form app,我想在其中运行一个exe.该程序是另一个单独的可执行文件.让我们说那个exe不是一个点网应用程序,但用另一种语言编写,这有关系吗?

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

far*_*jad 5

你可以通过PInvoking来做到这一点SetParent():

[DllImport("user32.dll")]
        static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
Run Code Online (Sandbox Code Playgroud)

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

var clientApplication = Process.Start("PATH_TO_YOUR_EXECUTABLE");
Run Code Online (Sandbox Code Playgroud)

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

SetParent(clientApplication.MainWindowHandle, YourMainWindowOrAContainerControl.Handle);
Run Code Online (Sandbox Code Playgroud)