16
A
回答
8
我之前为Winforms做过这个,但是这个方法并不明亮,所以只要别人没有任何想法,这就是我所做的。该代码是相当多这样的:
Process p = Process.Start(@"application.exe");
p.WaitForInputIdle();
IntPtr appWin = p.MainWindowHandle;
SetParent(appWin, parent);
SetWindowLong(appWin, GWL_STYLE, WS_VISIBLE);
System.Threading.Thread.Sleep(100);
MoveWindow(appWin, 0, 0, ClientRectangle.Width, ClientRectangle.Height, true);
(其中SetParent,SetWindowLong和MoveWindow是通过的P/Invoke调用Win32 API函数)的睡眠,需要作为一个黑客,因为没有它调用的MoveWindow就没有影响。
对于WPF,您将需要一个窗口/控件的句柄,它将成为第三方窗口的边界,获取此类句柄的最简单方法是使用HwndHost容器。
我不认为有一种更漂亮的方式在WPF中实现这一点。另外,请注意,我只在WinForms中进行了测试,而不是在WPF中进行了测试,但是它也应该在WPF中工作,只要它具有父级的有效win32 HWND即可。
相关问题
- 1. 从C#中的另一个应用程序显示WPF窗口#
- 2. WPF窗口更改另一个窗口的控件的值
- 3. 从Chrome应用程序窗口打开另一个Chrome应用程序窗口
- 4. 在另一个Delphi应用程序中嵌入Delphi窗口
- 5. 如何将一个窗口“嵌入”另一个窗口
- 6. 如何在WPF的同一窗口中调用另一个用户控件?
- 7. 触发事件从另一个WPF窗口WPF窗口
- 8. 从另一个程序集访问WPF窗口控件
- 9. 如何使另一个应用程序的窗口的父窗口?
- 10. 如何从另一个窗口在WPF
- 11. WPF。如何从另一个窗口隐藏/显示主窗口
- 12. wpf将控件从一个窗口转移到另一个窗口
- 13. 如何在IPhone窗口应用程序中显示另一个窗口
- 14. 用另一个窗口控制另一个窗口
- 15. 主机在另一个WPF窗口中的WPF窗口
- 16. 将应用程序嵌入窗口
- 17. 如何在一个WPF应用程序中有多个窗口?
- 18. 如何从控制台应用程序打开WPF窗口
- 19. 如何从wpf中的另一个窗口访问一个窗口的控件(richtextbox)?
- 20. 如何将OpenCV显示窗口添加为Win32 C++应用程序中另一个窗口的子窗口?
- 21. WPF导航从一个窗口到另一个窗口内
- 22. 主机一个窗口内的WPF应用程序窗体应用程序
- 23. MATLAB GUI - 如何从另一个窗口控制一个窗口中的动作?
- 24. 在WPF窗口中嵌入应用程序
- 25. 自定义控件WPF中的窗口应用程序
- 26. 将WPF窗口附加到另一个进程的窗口
- 27. 如何在我的应用程序中嵌入另一个应用程序的窗口
- 28. 在另一个wpf窗口内部有一个wpf窗口
- 29. WPF在同一个窗口中加载新的用户控件
- 30. 嵌入一个窗口到另一个
感谢它的作品,但它有点hacky。目标应用程序的行为是未定义的。一些应用程序是一些如何在操作系统中注册为非UI应用程序,即使它们具有UI即Office,并且其中一些应用程序停止正常运行。我有一段时间没有接受你的答案,希望能得到更多的答案,如果有的话。 – 2011-01-06 17:41:36
我在早上想知道这是如何为你工作的,因为我看到你接受了答案并且没有留下任何评论。我同意这很不方便。如果有更好的方法,我对自己感到好奇;不幸的是,当我需要实现这一点时,我花了很多时间,没有找到比这更好的东西。那时候,这对我来说是可以接受的,但它绝对不是一段好的代码,正如我在答案中提到的那样,我分享了它,因为这里没有答案。 – 2011-01-06 18:39:17
感谢您分享代码/想法。 – 2011-01-07 07:41:09