【问题标题】:Add application window on WPF window .NET在 WPF 窗口 .NET 上添加应用程序窗口
【发布时间】:2013-07-26 20:56:35
【问题描述】:

我想创建 WPF 应用程序并在其上打开其他程序。例如记事本或上面的一些播放器。它类似于虚拟桌面,但仅用于在其上打开其他应用程序。 这对.NET 可行吗? 如何检测其他程序(附加程序)? 如何定义并附加到 wpf 窗口? WPF是否比Win更好。为此的表格? 或者可能是像 Qt 这样的其他技术?

【问题讨论】:

    标签: .net wpf desktop-application desktop


    【解决方案1】:

    三个步骤:

    1. 使用 Process 类获取要嵌套在 WPF 窗口中的应用程序的进程。

    2. 使用 WindowInteropHelper 类获取 WPF 窗口的句柄。

    3. 调用 Win32 函数 SetParent 以传递进程的 MainWindowHandle 属性和 WPF 窗口的 Handle 属性。

    您需要使用 user32.dll...

    【讨论】:

      【解决方案2】:

      这种事情通常被称为“吞下窗口”,并且在某些窗口管理器(如 XTerm)上是可能的。但是,如果不制作一个全新的窗口管理器,我认为在 Windows 上是不可能的,这是一项艰巨的任务。

      当然,一些应用程序通过 ActiveX 或 OLE 等嵌入技术公开其 GUI——例如,Excel 文档就是这样嵌入到 Word 文档中的。但是,应用程序必须专门设计为支持这一点,而绝大多数不支持。

      【讨论】:

      • 好的,那么最好的选择是什么技术,我知道我必须使用 Win API,但我必须知道它是否可以使用 .NET 或者我必须使用一些 C++ 框架。跨度>
      猜你喜欢
      • 2011-04-09
      • 2021-08-26
      • 2011-03-09
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      相关资源
      最近更新 更多