#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. Так, например, когда игрок присоединяется к серверу, я хочу, чтобы мой код, чтобы знать, что новая линия появилась в списке (так что я могу написать собственное приветственное сообщение, чтобы изменить поле).
Я пытался изучить сценарии прослушивателей, но чувствую себя немного не в своей тарелке и, похоже, не могу найти простой пример кода, который мог бы помочь мне в этом. У кого-нибудь есть какие-нибудь идеи, где я мог бы посмотреть или что я мог бы использовать? Даже лучше… кто-нибудь сможет предоставить мне пример кода для повторной работы?