Russian Qt Forum
Ноябрь 26, 2024, 10:22
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Программная эмуляция чтения данных приложения
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Программная эмуляция чтения данных приложения (Прочитано 4639 раз)
nightpirat
Гость
Программная эмуляция чтения данных приложения
«
:
Октябрь 10, 2009, 10:38 »
Доброго всем дня. Возможно название темы я не совсем точно сформулировал, вобщем проблема в следующем: есть стороннее приложение, задача научится читать данные с этого приложения, а также обрабатывая данные в своей программе нажимать на соответствующие кнопки в приложении. Немного поясню, допустим есть приложение А, которое я сам запускаю, но исходный код его мне не известен. Пусть А обрабатывает некий файл и после обработки выдаёт сообщение-файл такой-то обработан. Далее я жмякаю кнопку обработать следующий файл или если предыдущий файл "не обработался" выбираю другой алгоритм обработки из списка и пытаюсь обработать этим алгоритмом. Так как действия чисто механические, то хотелось бы написать программу, которая всё это будет делать за меня, вопрос каким образом в QT можно это реализовать и возможно ли это сделать вообще?
p.s. всем заранее спасибо за ответы, если чего непонятно, то спрашивайте.
Записан
alexis031182
Гость
Re: Программная эмуляция чтения данных приложения
«
Ответ #1 :
Октябрь 10, 2009, 10:51 »
Каким образом программа А выдаёт сообщение об окончании обработки файла? Это графическое приложение? Если так, то вряд ли здесь что-то можно соорудить.
Записан
lighting
Гость
Re: Программная эмуляция чтения данных приложения
«
Ответ #2 :
Октябрь 10, 2009, 11:04 »
Посмотри вот
эту
программу. Вообще-то она для автоматизации управления персонажем в Ultima online, но возможно в твоем случае тоже сгодится, она достаточно продвинутая в плане настроек.
Записан
nightpirat
Гость
Re: Программная эмуляция чтения данных приложения
«
Ответ #3 :
Октябрь 10, 2009, 11:20 »
alexis031182: Программа А графическое, имеет обычное поле TextEdit и в нём выдаёт сообщение: обработка закончена.
lighting: спасибо посмотрю, но всёравно хотелось бы знать если какие-нибудь клаасы в QT обработки сообщений, которое посылает другое приложение. Ведь оно я так понимаю при работе с файлом обращается к нему, т.е. посылет некое сообщение винде....
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Программная эмуляция чтения данных приложения
«
Ответ #4 :
Октябрь 10, 2009, 12:23 »
Эту тему правильнее назвать "Автоматизация работы с приложением"
См.:
AutoIt
- позволяет писать сценарии автоматизации работы с приложением
AutoHotkey
- аналогично, но я ни разу не работал
Записан
Юра.
nightpirat
Гость
Re: Программная эмуляция чтения данных приложения
«
Ответ #5 :
Октябрь 10, 2009, 12:34 »
lit-uriy: спасибо, будем пробовать, обязательно отпишусь если чего-нибудь получится
я вот кстати порывшись в интернете нашёл, что всё это можно сделать с помощью dll injection ...
http://www.xakep.ru/post/28092/default.asp
Записан
nightpirat
Гость
Re: Программная эмуляция чтения данных приложения
«
Ответ #6 :
Октябрь 11, 2009, 01:36 »
Как и обещал отписываюсь по AutoIt - всё вышеперечисленное удалось реализовать на внутреннем языке этой незамысловатой программы. Что сказать, очень большой плюс, что к ней есть документация на русском. Из минусов, поиск нужного в этой документации - то ещё занятие(кто ж знал, что конкатенация строк это "&" вместо привычного "+"-час наверное справку рыл вместе с интернетом, пока не угадал
). Ещё по какой-то неведомой мне причине данная програ игнорирует всё , что находится в окне QT приложения(пишет , что окно Qвиджет и всё, ни одного батона или текст эдита не видит).Выкрутился эмуляцией нажатия кнопок мыши и копированием нужного в буфер обмена. Вобщем, если у кого будут вопросы, то пишите. Тема считаю хоть и не до конца, но раскрыта. Хотелось бы знать есть ли нечто подобное в самом QT?
p.s. Внутренний язык AutoIt довольно скудный, но в то же время он полностью охватывает все заявленные в программе функции.
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Программная эмуляция чтения данных приложения
«
Ответ #7 :
Октябрь 11, 2009, 08:55 »
>>что окно Qвиджет и всё, ни одного батона или текст эдита не видит
Тут дело в том, что Qt сама рисует виджеты, а не пользуется ВинАПИшными. Вот чужеродная програ, заточенная под ВинАПИ их и не видит.
Записан
Юра.
nightpirat
Гость
Re: Программная эмуляция чтения данных приложения
«
Ответ #8 :
Октябрь 11, 2009, 15:00 »
я так и думал...ну что-же будем по цвету пикселей определять где батон а где текст эдит, благо это очень просто
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...