我可以使用SetWindowPos将窗口放在另一个窗口后面,但是如何将它放在给定窗口的前面?

SetWindowPosition的第二个参数是hWndInsertAfter后面的意思。 我如何把窗户放在另一个窗户的上方?

如果你再次调用SetWindowPos,交换hwnd参数(所以你的原始窗口现在是hWndInsertAfter,并且最初的hWndInsertAfter现在是你正在移动的hWnd),并传入SWP_NOMOVE标志?

编辑:如果在Z顺序中的确切位置并不重要,你只是想在前面,不要忘记SetForegroundWindow。

如果z顺序看起来像这样:

z-oder – > desktop_window->窗口a – >窗口b

并且想要在窗口a上面设置窗口,请将hWndInsertAfter设置为窗口b,如果要将窗口设置在窗口b上方,请使用HWND_TOP标志