将没有 activating/bringing 的 window 的所有者设置为前面

Set window's owner without activating/bringing to front

几天来我一直在谷歌搜索如何在没有 activating/bringing 所有者的情况下设置 window 的所有者,但无法找到它。目前我正在使用 winapi:

SetWindowLong(hwndWindow, GWL_HWNDPARENT, hwndOwner); // GWL_HWNDPARENT = -8

或内置包装:

new WindowInteropHelper(window) { Owner = owner };

两者都可以很好地设置所有者,但它们会将所有者 window 置于最前面,这在 windows.

很多时会导致问题

感谢帮助!

这有帮助:

Please see: https://msdn.microsoft.com/en-us/library/windows/desktop/ms633541%28v=vs.85%29.aspx Pay attention for the note in "Remarks" about the requirement to change the styles and synchronize the UISTATE.
—SA Permalink
Sergey Alexandrovich