【问题标题】:Is it possible to start a new process and set it's main window as a child window of my MDI application?是否可以启动一个新进程并将其主窗口设置为我的 MDI 应用程序的子窗口?
【发布时间】:2009-03-28 13:17:30
【问题描述】:

是否可以启动一个新进程并将其主窗口设置为我的 MDI 应用程序的子窗口?

场景是:我有一个 MDI 应用程序,我想将 Adob​​e Acrobat 作为我的 MDI 应用程序的子窗口启动。

【问题讨论】:

  • 您需要完整的 Acrobat 产品,还是只需要一种查看 PDF 的方法?

标签: windows mdi


【解决方案1】:

理论上,我相信使用SetParent.是可能的

但是,在实践中,这可能比您预期的要困难一些。此外,您还需要同步样式等。

不过,只是一个想法 - 如果您尝试嵌入 Acrobat Reader(不是完整的 Acrobat),您可以通过嵌入 web 控件并在其中使用 acrobat reader 插件来更轻松地做到这一点...


以下是一些制作这项工作的人的样本(至少部分):

Related SO question 提供特定问题的解决方法。

CodeProject article using SetParent

Experts-exchange question 关于在 win32 应用中嵌入 java 应用。

【讨论】:

    【解决方案2】:

    我不相信这是可能的,至少不使用 SetParent。引用 SetParent 文档:

    应用程序可以使用 SetParent 设置父窗口的函数 弹出窗口、重叠窗口或子窗口。 新的父窗口和子窗口 窗口必须属于同一个 申请。

    【讨论】:

    【解决方案3】:

    我认为您想要的并不容易,但它可能是尝试集成其中一个开源 PDF 查看器的一种选择(如果您准备使用 GPL,因为这可能是他们中的大多数)。一些链接:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-28
      相关资源
      最近更新 更多