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

问题描述 投票:0回答:1

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

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

我不知道句柄或有关 C++ 窗口的任何其他信息。

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

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

c# c++ mfc
1个回答
0
投票

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

谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.