Код для прослушивания изменений в списке pywinauto

#python #pywinauto

Вопрос:

Я использую pywinauto для взаимодействия с окном старой игры — в частности, с графическим интерфейсом выделенного сервера. Я смог подключиться к нему с помощью:

 app = Application(backend="uia").connect(path=r"C:Program Files (x86)___.exe")
 

Используя цикл, я могу прочитать каждую строку в списке в определенном окне, используя:

 for i in dlg.ListBox.descendants():
    print (i.window_text())
 

Поле списка ведет себя как область вывода консоли, и я также смог записать команды в поле редактирования (ввода), которое отображается в поле списка.

Все это здорово, учитывая, что я вообще не думал, что это будет легко!

Впрочем, последнюю часть того, что я хочу сделать, это оказывается более сложным… я хочу, чтобы прислушаться к изменениям в списке, поэтому я могу реагировать на них и пишут разные ответы обратно в элемент управления ListBox. Так, например, когда игрок присоединяется к серверу, я хочу, чтобы мой код, чтобы знать, что новая линия появилась в списке (так что я могу написать собственное приветственное сообщение, чтобы изменить поле).

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