@Azat2015

Есть ли способ отследить состояние Windows приложения из Python?

У меня из скрипта python запускается оконное windows приложение, которое после окончания обработки данных, не закрывается автоматически. Сейчас приходится примерно рассчитывать время работы приложения исходя из количества данных, переданных в windows приложение, с небольшим запасом. И далее останавливать скрипт time.sleep().
Есть ли какой-то способ отследить из python момент окончания обработки данных без ожидания завершения работы внешнего приложения?
  • Вопрос задан
  • 286 просмотров
Решения вопроса 2
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Как вариант смотреть список процессов в цикле и ждать пока нужный завершиться.
Делать это можно вот этим. Документация имеется, то, как получать список процессов в ней описано
Ответ написан
Комментировать
Vindicar
@Vindicar
RTFM!
Есть ещё извращённый способ - использовать WinAPI, чтобы найти в окне приложения тот элемент управления, на котором рендерится сообщение о завершении работы, и периодически опрашивать его текст.
Смотри функции API EnumWindows(), EnumChildWindows() и GetWindowText().
Чтобы вызывать API функции из скрипта на питоне - стандартный модуль ctypes в помощь.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@kalapanga
В такой общей постановке вопроса ответ будет - нет. Нужно изучать конкретно это приложение, какие "следы" оно оставляет. Один вариант уже предложил AlexNest (если для обработки данных запускается отдельный процесс). Ещё что первое в голову приходит - не создаёт ли приложение каких-либо файлов? Ну и так далее.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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