Python для захвата вывода другого окна - программа с графическим интерфейсом - PullRequest
0 голосов
/ 03 мая 2011

Ситуация такова: я хочу захватить всплывающие окна IPmsg.exe в моей программе на python.

Существует простой способ сделать это - чтение из файла журнала.Но я хотел бы знать, можно ли это сделать, не обсуждая файлы журнала.Подробнее об IPmsg.exe: http://ipmsg.org/index.html.en

Это было конкретным.Теперь, каков будет общий подход к получению выходных данных программы с графическим интерфейсом на базе Windows?

Ответы [ 2 ]

1 голос
/ 03 мая 2011

Вы можете захватывать только выходные данные из приложений через Python, которые вы запускаете непосредственно из Python, например используя модуль подпроцесса:

http://docs.python.org/library/subprocess.html

В противном случае у вас практически нет шансов прочитать прямой вывод других приложений.

1 голос
/ 03 мая 2011

Как правило, существует два способа общения с программами с графическим интерфейсом в Windows, если вы ненавидите файлы журналов:

  1. Используйте их интерфейс командной строки! Я сомневаюсь, что у него есть тот, который выводит на стандартный вывод, когда приходят сообщения
  2. Используйте API-интерфейс win32 или обертку для него для поиска определенных окон (опрос при необходимости или установки хуков, чтобы узнать, когда они появляются), а затем извлекайте текст из них, используя больше вызовов API. Смотрите этот вопрос: Получить текст из всплывающего окна

+ 1, кстати, гораздо проще использовать файлы журналов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...