我需要能够在Visual Studio表单中为我的学校项目运行Unity游戏。
我对VS并不是那么好,这种东西对我来说仍然很复杂,我甚至都不知道它是否可能。
这就是我所拥有的:
这是我需要的结果:
这甚至可能吗?如果是这样,那么请如何指出正确的方向。
编辑: 找到了怎么做:
[的DllImport( “USER32.DLL”)]
static extern IntPtr SetParent(IntPtr hWndChild,IntPtr hWndNewParent);
private void button1_Click(object sender,EventArgs e)
{
var clientApplication = Process.Start(“C:/Users/ricardo.coelho/Desktop/Unity_VS_Test.exe”);
Thread.sleep代码(500);
SetParent(clientApplication.MainWindowHandle,panel1.Handle);
}
答案 0 :(得分:0)
是的,您可以通过命令行参数执行此操作。
您要查找的参数为-parentHWND
,stated in the documentation。该文档还包含一个可以帮助您的示例。
从那里(在C#应用程序中)是
的问题process = new Process();
process.StartInfo.FileName = "Child.exe";
process.StartInfo.Arguments = "-parentHWND " + panel1.Handle.ToInt32() + " " + Environment.CommandLine;
process.StartInfo.UseShellExecute = true;
process.StartInfo.CreateNoWindow = true;
process.Start();
process.WaitForInputIdle();
EnumChildWindows(panel1.Handle, WindowEnum, IntPtr.Zero);