@037
новичок в программировании

Как определить размер и координаты любого окна python?

Предположительно есть приложение, которое каждый раз открывается в оконном режиме в разных частях дисплея и имеет случайный размер и цвет(может быть и случайный рисунок из пейнта). Когда подобное окно открывается на нем появляется кнопка, работающая по тому же принципу, на которую надо нажать(так же знаю, что соотношение у них всех 16:9). изменять или читать сам файл этого окна нельзя.

Вопрос заключается вот в чем: как определить что открылось конкретно это окно и его координаты с размером вне зависимости от его цвета или текстуры? Я могу понять, что делать с окном, вид которого заранее известен. Но я даже предположить не могу, какая библиотека могла бы мне помочь с этим... Да и с теоретической точки зрения мне тут явно не хватает. По этому если есть у кого что-нибудь на уме поделитесь, пожалуйста. премного благодарен...

я понимаю, что надо сравнить 2 изображения для того, чтобы найти окно, появляющееся на рабочем столе. но я не могу понять, как найти в разноцветном прямоугольнике еще один прямоугольник...6619d3ccdb090692381518.png6619d3d5979bf577330616.png
  • Вопрос задан
  • 147 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Ответ для винды - с линуксовыми оконными менеджерами я дела не имел.
Можно посмотреть на видимый заголовок окна или на т.н. строку класса окна. Возможно, pyautogui или pywinauto могут найти окна по заголовку.
Более сложные и надёжные решения требуют работы с WinAPI: в принципе можно найти окна, принадлежащие процессу с заданным экзешником, уточнить через заголовок/класс окна, а дальше получить их позицию.
Проблема в том, что до WinAPI надо достукиваться через модуль ctypes, а значит, нужно уметь не только Питон, но и хотя бы основы C или C++. Я могу описать этот вариант подробнее, если захочешь связываться с этой канителью.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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