我怎样才能使窗口失去焦点

How can I make a window lose its focus?

本文关键字:窗口 失去 焦点      更新时间:2023-10-16

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

我试过SetForegroundWindow(GetNextWindow(hWnd, GW_HWNDNEXT));但没有奏效。GetNextWindow获取的HWND似乎是错误的
那么我可以改进吗?
我不想使用ShowWindow(hWnd, SW_HIDE); ShowWindow(hWnd, SW_SHOWNA),因为它会在Windows7的任务栏上显示动画。

还有其他完美的方法吗?

GW_HWNDNEXT指定另一个窗口下方的一个窗口。如本文所述(msdn),

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

因此,在Z-Order中没有检索到其他hWnd,因此h Wnd值"错误"(实际上为NULL)。

为什么不这样?

ShowWindow(hWnd, SW_MINIMIZE);

还有另一个标志:SW_FORCEMINIMIZE