@Jomm

Как проверить свернуто ли окно?

Xочу написать скрипт, который будет работать только тогда, когда окно ВНЕШНЕГО приложения будет развернуто.
  • Вопрос задан
  • 6727 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Насколько я понимаю, на чистом питоне это будет сделать затруднительно. Нужно использовать платформо-зависимые инструменты.
Если под Windows, то можно использовать WinAPI. Чтобы обращаться к ним под питоном, используй пакет pywin32.
Функция IsIconic() проверяет, свёрнуто ли окно с указанным дескриптором в панель задач. Передай ему дескриптор окна, которое надо проверить.
Функция GetForegroundWindow() получает дескриптор окна, которое сейчас в фокусе. Не уверен, идёт ли речь об окне верхнего уровня, или об элементе управления в фокусе (элементы управления - тоже окна). Оно возвращает дескриптор окна, если дескриптор равен желаемому - значит, искомое окно сейчас в фокусе.
Так как тебе потребуется узнать дескриптор нужного окна, посмотри также FindWindow(). Имя класса окна надёжнее, но его труднее узнать. Заголовок окна может меняться (например, у браузера он зависит от текущей вкладки), но зато его узнать легче. При этом речь идёт о точном совпадении заголовка окна!
Если заголовок меняется, то стоит использовать EnumWindows(), но с ней сложнее работать.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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