为什么HWND_NOTTOPMOST无法在xp中显示窗口前景

Why HWND_NOTTOPMOST cannot bring the window foreground in xp?

本文关键字:显示 窗口 xp HWND NOTTOPMOST 为什么      更新时间:2023-10-16

我正在使用

SetWindowPos(m_hParsent, HWND_NOTOPMOST, 0, 0, 0, 0, 
             SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE)

将窗口带到前台,但它在XP系统中不起作用,它在我的win7中工作得很好。

HWND_NOTOPMOST本身不会将窗口移动到前台,它只是从具有最顶层状态的窗口中删除该状态,其副作用是该窗口将保留在其他非最顶层窗口之上。但文档也说:"如果窗口已经是非最上面的窗口,这个标志就没有作用。"

使用HWND_TOP专门将窗口移动到z顺序的顶部,或调用SetForegroundWindow