c++ - 为来自不同进程的窗口设置父级是否正确?

标签 c++ windows winapi mfc

我有两个应用程序有两个不同的顶级窗口:

App1 -- Window1
App2 -- Window2

现在,我正在 App1 中创建一个对话框 Dlg1,我想将 window2(App2) 设置为父窗口。 (那是因为我希望我的 Dlg1 位于 Window2 之上)。

我通过将 Window2 设置为父级来创建对话框。有效。但这是正确的方法吗?跨进程设置父项是否存在任何已知问题\限制?我检查了 windows 文档,发现的信息不多。

最佳答案

这或多或少是受支持的,但确实有一些限制。您需要注意这两个进程以同一用户身份运行,并且您没有会阻止这两个进程通信的安全或提升问题。其次,如果有问题的窗口有一些关于哪个窗口是父窗口的内置假设,您可能会遇到问题 - 如果您同时创建了两个进程,这就不是什么问题。

虽然我刚刚看了你在这里说的话:

That is because I want my Dlg1 to come on top of Window2

这听起来有点道德和技术上的风险。如果第一个程序的作者反对怎么办?您可能不会在两个窗口之间发生某种 war 吗?如果这就是您想要做的全部,为什么不将您的窗口设置为 TOPMOST 或 TOP 并将其保留在那里呢?

关于c++ - 为来自不同进程的窗口设置父级是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1225769/

相关文章:

c++ - 文件映射和文件结构

c++ - WriteFile 失败超过 4700 个 block (SD 卡原始写入/窗口)

c++ - 在 C、C++ 中将 bool 变量与 1 和 0 进行比较是否安全?

windows - 通过 ffmpeg 的视频编解码器规范(未实现)

c++ - 遍历对象 vector

windows - 将 mongodb 作为 Windows 服务运行

CreateFileMapping() 用于将长度未知的文本写入文件

C++ Win32 改变静态颜色

c++ - 从字符串 vector 中删除特殊字符 C++

c++ - 如何使用 Android Studio 2.2.3 调试外部 native 库的 C++ 源代码?