Восстановить окно без установки на передний план - PullRequest
0 голосов
/ 06 февраля 2019

Я могу сделать только изображение не-иконического (не свернутого) окна, поэтому, если я вижу его, я восстанавливаю его, но затем оно появляется на переднем плане.Прямо сейчас у меня есть такое решение:

if win32gui.IsIconic(hwnd):
    active_hwnd= win32gui.GetForegroundWindow()
    win32gui.ShowWindow(hwnd, win32con.SW_RESTORE)
    win32gui.SetForegroundWindow(active_hwnd)

, но иногда мерцание прерывает другие запущенные процессы.Как я могу восстановить окно и установить его последним в z-порядке Windows?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

после поиска в win32 я нашел это решение:

if win32gui.IsIconic(hwnd):
        win32gui.ShowWindow(hwnd, win32con.SW_SHOWNOACTIVATE)
0 голосов
/ 06 февраля 2019

SetWindowPos устанавливает порядок Z.Используйте его с HWND_BOTTOM.

...