我只能采取非标志性的(没有最小化)窗口的形象,所以,如果我看到一个我恢复它,但后来它弹出到前台。现在,我有这样的解决方案:
if win32gui.IsIconic(hwnd):
active_hwnd= win32gui.GetForegroundWindow()
win32gui.ShowWindow(hwnd, win32con.SW_RESTORE)
win32gui.SetForegroundWindow(active_hwnd)
但有时闪烁时中断其他正在运行的进程。如何恢复一个窗口,将其设置为最后在窗口Z顺序?
SetWindowPos设置Z顺序。与HWND_BOTTOM使用它。
在Win32中搜索之后,我发现这个解决方案:
if win32gui.IsIconic(hwnd):
win32gui.ShowWindow(hwnd, win32con.SW_SHOWNOACTIVATE)