如何让窗户失去焦点?

时间:2015-11-14 11:52:34

标签: c++ windows winapi focus

如何使窗户失去焦点,就像我最小化窗户一样?

我试过SetForegroundWindow(GetNextWindow(hWnd, GW_HWNDNEXT)); 但它没有用。似乎GetNextWindow得到的HWND是错误的。
那么我可以改进它吗?
我不想使用ShowWindow(hWnd, SW_HIDE); ShowWindow(hWnd, SW_SHOWNA),因为它会导致Windows 7中任务栏上的动画。

还有其他完善的方法吗?

2 个答案:

答案 0 :(得分:0)

GW_HWNDNEXT 指定另一个窗口下方的窗口。如上所述here msdn ),

  

如果没有下一个(或上一个)窗口,则返回值为NULL。要获取扩展错误信息,请调用GetLastError。

因此, Z-Order 中没有其他 hWnd 被检索,因此"错误" hWnd 值(实际上它是NULL)。

答案 1 :(得分:0)

为什么不呢?

ShowWindow(hWnd, SW_MINIMIZE);

还有另一面旗帜:SW_FORCEMINIMIZE