在我们的应用程序中,我们有一个从 C++ MFC 非托管世界显示的对话框 (CDialog)。
我的 Win-Forms 模式对话框 (C#) 需要将非托管对话框设置为所有者,从而设置为父对话框。
我不知道句柄或有关 C++ 窗口的任何其他信息。
我的问题是 - 如何从非托管 MFC 中找到当前活动窗口并将其设置为模式对话框的所有者。
GerForegroundWindow 在整个会话中提供活动窗口,而不是在我的应用程序中。
使用GetActiveWindow解决了这个问题。 为了创建所有者,我使用 NativeWindow.FromHandle 并传递从 GetActiveWindow 检索到的句柄
谢谢!