2009-07-10 4 views
2

Кто-нибудь знает, как захватить текст из окна QWidget в приложении Windows? Это то, что он выглядит, когда я смотрю на него с помощью Winspector:Grab Информация из «QWidget»

http://www.tightpoker.com/images/ftplobby.jpg

я бы писал, что в качестве изображения, но, по-видимому новые пользователи не могут использовать теги изображений ...

Он не может найти подклассы (т. Е. Для списка турниров). Я пытаюсь найти способ вызвать список в пользовательском приложении, которое записывается для сбора данных.

ответ

0

Как только у вас есть код, запущенный в целевом приложении, вы можете просто пройти иерархию QObject, начиная с QApplication::topLevelWidgets() и используя QMetaObject::userProperty().

Если у вас нет кода, запущенного в целевом приложении, я не знаю. Я также уверен, что нет никакого способа, так как и Squish, и KD Executor (google для KDExecutor, используют кеш Google, сайт в настоящее время обновляется) необходимо ввести код (через предварительную загрузку) в AUT (Application Under Test).

+1

Спасибо за ответ. И поскольку это выполняется на основе очистки данных, у меня нет никакого кода, запущенного в целевом приложении. Вы в основном говорите, что вам нужно сделать какую-то инъекцию или зацепить при запуске приложения? – natarem

1

Qt предоставляет класс QAccessibility довольно долгое время, позволяя читателям экрана, например, рассказчику (Start-> Run ...-> рассказчик) или челюстям обрабатывать элементы управления и читать их пользователю. Насколько я могу судить, все стандартные виджеты поддерживают эту функцию, так как где-то вокруг qt4.

Unfortuneatly, когда разработчик решает реализовать свой собственный элемент управления на основе QWidged и не реализует QAccessibleInterface, тогда созданный класс «отключен» и невидим для любого инспектора или устройства чтения с экрана. Он становится всего лишь набором пикселей на экране.

Попробуйте запустить рассказчик и обратите внимание на то, что он скажет после открытия ftplobby, «... не содержит других известных элементов управления» означает, что вам, вероятно, не повезло, и вы должны начать поиск OCR и имитируемых кликов.

Смежные вопросы