我有两个应用程序有两个不同的顶级窗口:
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/