c++ - 如何在另一个对话进程中加载​​对话exe作为子窗口

标签 c++ winapi mfc win32gui

我有两个单独的应用程序 A.exeB.exe,它们会生成两个独立的顶级窗口。两者都是 C++ 应用程序,在 windows 平台上使用 win32 gui 框架。我想将它们组合到一个新的应用程序 C.exe 中,以便它在多选项卡对话框中的单独选项卡中显示这两个。

Baiscaly 如何将 C.exe 中的 Dialog Dlg1 设置为 A.exe 的父窗口(顶级窗口)或以其他方式如何加载 A.exe(顶级窗口)作为 Dlg1 中的子窗口 in C.exe

是否有使用 win32 或 MFC 的解决方案?还是不可能?

最佳答案

如果 C.exe 生成 A.exe 和 B.exe,它可以将自己的 HWND 作为命令行参数传递,然后 A.exe 和 B.exe 可以检索该参数并使用HWND 作为父窗口在需要时调用 CreateWindow/Ex()SetParent()。否则,C.exe 将不得不使用 FindWindow/Ex()EnumWindows() 手动查找 A.exe 的 HWND 句柄和B.exe,然后对它们调用 SetParent()

关于c++ - 如何在另一个对话进程中加载​​对话exe作为子窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10789599/

相关文章:

c++ - 当控件的父窗口被销毁时,是否需要显式恢复控件字体?

c++ - 使用 `const&` 调用模板?

c++ - 如何为MS VC++开发的C++程序分配特定段的代码

c++ - 从模板调用类保护方法

c++ - 在与父进程相同的监视器上运行进程

c++ - MFC:在派生的 CEdit 中没有收到 EN_CHANGE 消息

c++ - 在 C++ 上遇到 MFC lntelliSense 的问题

c++ - 为 Windows 8.1 安装 MQTT 客户端

c# - 算术运算导致溢出 c#

c++ - EvtSubscribe 和线程