c ++ win32嵌入第三方应用程序

时间:2015-07-29 14:03:45

标签: c++ user-interface winapi childwindow

我想在我的主窗口中打开第三方应用程序,例如办公室或adobe reader。

像这样的东西。这个例子是在windows窗体中。 Embeded application

但我只能使用带有winapi的纯c ++。可能吗?我可以用它做什么。你能举个例子吗?

由于

1 个答案:

答案 0 :(得分:1)

您可以通过识别要嵌入的应用程序的窗口句柄(HWND)来完成此操作。然后,您可以使用Window API的SetParent函数将该窗口重新显示在主窗口中。窗口句柄是32位,所以这甚至可以在32/64位进程之间工作。

但是应该注意将事件从主机应用程序正确地分派到嵌入式窗口(例如,当重新调整大小或隐藏主机时,嵌入式窗口也应该重新调整大小或隐藏)。并将嵌入窗口放在主机内。

Here is an example of this approach

这可能适用于记事本,但更复杂的应用程序在重新设置为另一个进程窗口时可能会出现奇怪的行为,但您可以进行实验。