@breadp

Как вытащить окно windows на передний план?

Есть скрипт, в котором нужно вытащить окно телеграмма на передний план, я активно пользовался pyautogui, но там что-то такой функции не нашел, c pywinauto не получилось разобраться, может быть здесь кто-нибудь посоветует как это реализовать.
  • Вопрос задан
  • 3545 просмотров
Пригласить эксперта
Ответы на вопрос 3
NeiroNx
@NeiroNx
Программист
Нужно ставить Pywin32 (win32api)
FindWindow
SetForegroundWindow
ShowWindow

hwnd = win32gui.FindWindow(None,"Telegram")
win32gui.ShowWindow(hwnd, win32con.SW_NORMAL)
win32gui.SetForegroundWindow(hwnd)
Ответ написан
Комментировать
vasily-v-ryabov
@vasily-v-ryabov
Python, UI Automation, pywinauto
Или с помощью pywinauto:
from pywinauto.application import Application

app = Application().connect(title_re="Telegram")
app.window(title_re='Telegram \(\d+\)').set_focus()

Вообще, я смотрю, весь клиент Телеграма сделан на каких-то кастомных элементах на основе Qt5. Ни одного нормального имени в Inspect.exe не видно. Одни картинки. И ещё окно никуда не перемещается из центра - это бага или так гениально задумано?
Ответ написан
Комментировать
@Ermac301
А что если мне нужно например просто вывести на "Передний план" окно с названием например "notepad" в windows 10, если не сложно напишите пожалуйста весь код а не вырезку из кода (как написал Александр в первом ответе), если это вообще возможно на языке Питон (То что очевидно для профессионалов, не очевидно для новичков, а профессионалы не станут искать ответы на такие вопросы)
Вот этот код ни как не разворачивает окно "Блокнота", что делаю не так?
import win32gui
import FindWindow
import SetForegroundWindow
import ShowWindow
hwnd = win32gui.FindWindow(None,"notepad")
win32gui.ShowWindow(hwnd, win32con.SW_NORMAL)
win32gui.SetForegroundWindow(hwnd)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы