C# - 显示对话框将所有者设置为非托管窗口

C# - ShowDialog set owner to the unmanaged window

本文关键字:窗口 设置 所有者 显示 对话框      更新时间:2023-10-16

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

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

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

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

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

我非常感谢您提供的任何帮助。

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

谢谢!