【发布时间】:2009-03-28 13:17:30
【问题描述】:
是否可以启动一个新进程并将其主窗口设置为我的 MDI 应用程序的子窗口?
场景是:我有一个 MDI 应用程序,我想将 Adobe Acrobat 作为我的 MDI 应用程序的子窗口启动。
【问题讨论】:
-
您需要完整的 Acrobat 产品,还是只需要一种查看 PDF 的方法?
是否可以启动一个新进程并将其主窗口设置为我的 MDI 应用程序的子窗口?
场景是:我有一个 MDI 应用程序,我想将 Adobe Acrobat 作为我的 MDI 应用程序的子窗口启动。
【问题讨论】:
理论上,我相信使用SetParent.是可能的
但是,在实践中,这可能比您预期的要困难一些。此外,您还需要同步样式等。
不过,只是一个想法 - 如果您尝试嵌入 Acrobat Reader(不是完整的 Acrobat),您可以通过嵌入 web 控件并在其中使用 acrobat reader 插件来更轻松地做到这一点...
以下是一些制作这项工作的人的样本(至少部分):
Related SO question 提供特定问题的解决方法。
CodeProject article using SetParent
Experts-exchange question 关于在 win32 应用中嵌入 java 应用。
【讨论】:
我不相信这是可能的,至少不使用 SetParent。引用 SetParent 文档:
应用程序可以使用 SetParent 设置父窗口的函数 弹出窗口、重叠窗口或子窗口。 新的父窗口和子窗口 窗口必须属于同一个 申请。
【讨论】: