我需要能够获得WinForm对话框的所有者的HWND.在非托管中,我有一个后台线程,它获取前面窗口的HWND.然后代码调用:: GetParent(frontHWND)以查看是否需要隐藏不同的非模态MFC对话框.当WinForm对话框是frontHWND时,我总是为GetParent调用返回NULL.我也试过GetOwner意识到.Net试图清理父和所有者之间的区别.查看带有Spy ++的WinForm对话框,它还说WinForm没有父级或所有者.我已经过去了
NativeWindow ^natWin = gcnew NativeWindow();
natWin->AssignHandle(IntPtr(hwndParent));
managedDlg->ShowDialog(natWin);
Run Code Online (Sandbox Code Playgroud)
上面的代码没有设置WinForm的所有者.我尝试从OnFormShown()中的WinForm代码调用Win32 SetParent,但锁定了MFC应用程序和WinForm.
有人可以解释如何让我的非托管对话框/应用程序成为托管winform的所有者/父级吗?