gpt4 book ai didi

c# - 在 wpf 应用程序的新 Itemtab 中运行 exe 文件

转载 作者:太空宇宙 更新时间:2023-11-03 19:13:11 24 4
gpt4 key购买 nike

我是开发 Wpf 的初学者,我需要知道如何在 TabControl 控件中的新 TabItem 中运行 .exe 应用程序.我做了这个片段:

 private void MenuItem_Click_6(object sender, RoutedEventArgs e) { 
TabItem nPage = new TabItem();
nPage.Header = "nouveau";
TabPage.Items.Add(nPage);
ProcessStartInfo pInfo = new ProcessStartInfo("Multi-langue.exe");
pInfo.WorkingDirectory = @"C:\Multi-langue\Multi-langue\bin\Debug";
Process p = Process.Start(pInfo);
}

新的应用程序正在运行,但不在新的 TabItem 中。

那么我如何修改我的代码片段以集成在第一个应用程序中启动的第二个应用程序的显示?

最佳答案

我找到了这个解决方案,而且效果很好

 public IntPtr MainWindowHandle { get; set; }
[DllImport("user32.dll", SetLastError = true)]
private static extern long SetParent(IntPtr hWndChild, IntPtr hWndNewParent);

  private void MenuItem_Click_6(object sender, RoutedEventArgs e) { 

TabItem nPage = new TabItem();
WindowsFormsHost host = new WindowsFormsHost();
System.Windows.Forms.Panel p = new System.Windows.Forms.Panel();
host.Child = p;
nPage.Header = "nouveau";
nPage.Content = host;
TabPage.Items.Add(nPage);
Process proc = Process.Start(
new ProcessStartInfo()
{
FileName = @"C:\Multi-langue\Multi-langue\bin\Debug\Multi-langue.exe",

WindowStyle = ProcessWindowStyle.Normal
});
Thread.Sleep(1000);
SetParent(proc.MainWindowHandle, p.Handle);

}

关于c# - 在 wpf 应用程序的新 Itemtab 中运行 exe 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19000721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com