C# - ShowDialog将所有者设置为非托管窗口

时间:2017-07-18 18:27:36

标签: c# c++ mfc

在我们的应用程序中,我们有一个对话框(CDialog),它显示在C ++ MFC非托管世界中。

我的Win-Forms模式对话框(C#)需要将非托管对话框设置为所有者,因此设置为父级。

我不知道C ++窗口的句柄或其他任何内容。

我的问题是 - 如何从非托管MFC中找到当前活动的窗口,并将其设置为模态对话框的所有者。

GerForegroundWindow在整个会话中提供活动窗口,而不是在我的应用程序中。

我真的很感谢你方提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

使用GetActiveWindow解决了这个问题。 为了创建所有者,我使用了NativeWindow.FromHandle并传递了从GetActiveWindow检索到的句柄

谢谢!