Получение имени определённого окна. Python

Есть код:

from win32gui import GetWindowText, GetForegroundWindow
print(GetWindowText(GetForegroundWindow()))

Он выдаёт имя активного окна.

Как сделать так, что бы он выдавал имя определённого окна, например аимпа? Или может быть есть другой способ?


Ответы (1 шт):

Автор решения: Pirci

Решил проблему так:

import psutil #подгружаем библиотеки
import win32gui
import win32process
pid = next(item for item in psutil.process_iter() if item.name() == 'Ваше_приложение.exe').pid #получаем pid нашего exe
def enum_window_callback(hwnd, pid): #разбираем pid на "подпроцессы"
    tid, current_pid = win32process.GetWindowThreadProcessId(hwnd)
    if pid == current_pid:
        windows.append(hwnd) #добавляем их в массив
windows = []
win32gui.EnumWindows(enum_window_callback, pid)
print([win32gui.GetWindowText(item) for item in windows][0]) #выводим в консоль имя первого окна по его id
→ Ссылка