C#/ WINAPI:SetWindowPos()

时间:2009-08-27 15:19:04

标签: c# windows winapi

我正在使用SetWindowPos()尝试将Windows发送到z-order的后面/前面。 它似乎在大多数情况下工作但是我注意到某些窗口它不会工作,虽然该功能将返回成功。

例如,窗口任务管理器似乎工作得很好,但其他窗口没有正确响应函数调用。

对可能发生的事情的任何见解?我知道这些信息很少,但我不知道该包含什么。

2 个答案:

答案 0 :(得分:1)

使用SetForegroundWindow似乎很有效。 从我能够辨别的情况看来,使用SetWindowPos并将窗口设置为HWND_TOP似乎会使其位于前景窗口之后的z顺序之上。 这意味着一旦前景窗口被移除(最小化/关闭),它将成为TOP的下一个窗口。

答案 1 :(得分:0)

我也在整个流程中遇到问题。这来自MS文档:

要使用SetWindowPos将窗口置于顶部,拥有该窗口的进程必须具有SetForegroundWindow权限。

可能是原因?