powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / ... вкалывают роботы, а не человек!
14 сообщений из 14, страница 1 из 1
... вкалывают роботы, а не человек!
    #32925679
archez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Помогите с решением такой задачи, плз.
Для справки - платформа C++ Builder 5.

Итак, необходимо написать программу, которая будет управлять работой другой программы, по таймеру. Управлять, это значит кликать мышкой в определенные участки (меню, кнопки), и заполнять текстом определенные поля (TEdit, ...).
У меня есть дескриптор управляемой программы. Выполнение SendMessage() для WM_KEYDOWN, WM_KEYUP, WM_CHAR, WM_LBUTTONDOWN, WM_LBUTTONUP желаемого результата неприносит - текст не вводиться, менюшки не открываются.
Наверняка существует отработанная технология решения этой задачи. Подскажите кто знает, - неохото проходить по всем граблям, - а их здесь, судя по всему, немало. :)

Заранее благодарен.
Евгений.
...
Рейтинг: 0 / 0
... вкалывают роботы, а не человек!
    #32925706
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что за программой надо управлять если не секрет? Может есть более простые способы?
...
Рейтинг: 0 / 0
... вкалывают роботы, а не человек!
    #32925735
archez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще их несколько, но одна из них - внутренняя, давнишняя разработка, для сбора и обработки статистики (исходники утрачены). Требуется ежедневно на выделенном компе выполнять последовательно ряд однообразных манипуляций (отнимает ужасно много времени и нервов). Каждая следующая по завершению предыдущей. Примерное время выполнения каждого этапа известно. Если коротенько - то вот предистория.
...
Рейтинг: 0 / 0
... вкалывают роботы, а не человек!
    #32925780
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть две утилиты ScriptIt и AutoIt. Как раз для автоматизации действий с окошками.

Привожу ссылку из книги.

http://www.hiddensoft.com/autoit


P.S. Не все приложения поддерживают автоматизацию.
...
Рейтинг: 0 / 0
... вкалывают роботы, а не человек!
    #32926118
MLeon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меню и кнопки посылают сообщение WM_COMMAND.
...
Рейтинг: 0 / 0
... вкалывают роботы, а не человек!
    #32926317
Фотография hell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я писал такое на Rational Robot, для тестирования. Можете посмотреть, на сей продукт, очень неплох. А вообще такие роботы популярны в Q/A, спросите в том форуме

"The CBO without stats is like a morning without coffee." T.Kyte
...
Рейтинг: 0 / 0
... вкалывают роботы, а не человек!
    #32927345
archez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonЕсть две утилиты ScriptIt и AutoIt. Как раз для автоматизации действий с окошками.


В моем случае, ежедневные действия аналогичны, но не идентичны, т.е. они могут варьироваться в зависимовсти от исходных данных. Например в один день нужно выбрать третий пункт меню, в другой день - четвертый. Информация вводимая в одни и теже поля так же отличается день ото дня.

maytonP.S. Не все приложения поддерживают автоматизацию.

А есть ли способ, сказать системе - "Установи курсор мышки в X,Y", "Сделай левый клик", "Ввод с клавиатуры 'Hello world' ". А система пусть сама разруливает какому приложению отдать фокус и в какое поле чего ввести.
...
Рейтинг: 0 / 0
... вкалывают роботы, а не человек!
    #32927352
archez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MLeonМеню и кнопки посылают сообщение WM_COMMAND.
Можно еще несколько слов в этом направлении, а еще лучше несколько ссылочек.
...
Рейтинг: 0 / 0
... вкалывают роботы, а не человек!
    #32927407
Siebentearbeit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть подобная прога (могу дать исходники)
Я делал её чтоб каждый раз форму не заполнять.
Но она не работает по расписанию.
Текст в едитах заполняться через SetWindowText не будет. По-моему, дело в том, как под едитбоксы приложение выделяет память. WM_CHAR работает всегда :)
Сщас прога заполняет едиты, ставит чеки, выбирает комбы(и оповещает окно о выборе, потому как на это окна реагируют обычно), жмёт кнопки.
И всё делается "живыми" сообщениями. То есть кнопкам посылаются мышиные сообщения, а не окну WM_COMMAND. Это тоже даёт возможность окну прореагировать. Так как если мышью выбрать чек, то окно отреагирует на WM_COMMAND, а если поставть BS_CHECKED - нет(тут ещё и проверку делать надо, чекед\анчекед).
...
Рейтинг: 0 / 0
... вкалывают роботы, а не человек!
    #32927456
archez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SiebentearbeitУ меня есть подобная прога (могу дать исходники)
Я делал её чтоб каждый раз форму не заполнять.
Но она не работает по расписанию.
Текст в едитах заполняться через SetWindowText не будет. По-моему, дело в том, как под едитбоксы приложение выделяет память. WM_CHAR работает всегда :)
Сщас прога заполняет едиты, ставит чеки, выбирает комбы(и оповещает окно о выборе, потому как на это окна реагируют обычно), жмёт кнопки.
И всё делается "живыми" сообщениями. То есть кнопкам посылаются мышиные сообщения, а не окну WM_COMMAND. Это тоже даёт возможность окну прореагировать. Так как если мышью выбрать чек, то окно отреагирует на WM_COMMAND, а если поставть BS_CHECKED - нет(тут ещё и проверку делать надо, чекед\анчекед).

За исходники буду очень признателен - вот мой адрес "sagittar@pochta.ru".
...
Рейтинг: 0 / 0
... вкалывают роботы, а не человек!
    #32927788
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
archez

В моем случае, ежедневные действия аналогичны, но не идентичны, т.е. они могут варьироваться в зависимовсти от исходных данных. Например в один день нужно выбрать третий пункт меню, в другой день - четвертый. Информация вводимая в одни и теже поля так же отличается день ото дня.



AutoIt поддерживает сценарии. ИМХО можно каким-то образом программировать действия с окнами в зависимости от исходных данных. Сам я это не пробовал но думаю что можно.

Если получится обязательно напиши в форум.
...
Рейтинг: 0 / 0
... вкалывают роботы, а не человек!
    #32930248
archez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton

AutoIt поддерживает сценарии. ИМХО можно каким-то образом программировать действия с окнами в зависимости от исходных данных. Сам я это не пробовал но думаю что можно.

Если получится обязательно напиши в форум.

Не хотелось бы усложнять методику, добавляя промежуточное приложение. Хочется все же реализовать непосредственное управление приложением. Если уж совсем никак получаться не будет, то придется маневрировать. AutoIt - оставлю на крайний случай.
...
Рейтинг: 0 / 0
... вкалывают роботы, а не человек!
    #32930254
archez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот скажите, почему, не срабатывает такой код (ОС - Win2000):
HWND hEdit = FindWindowEx(hHandle, NULL, "Edit", NULL);
я получаю NULL, вместо дескриптора дочернего окна типа "Edit"

Причем хэндл родительского окошка правильный - потому что такой код срабатывает, при условии что в родительском окне всего одно дочернее:
HWND hEdit = FindWindowEx(hHandle, NULL, NULL, NULL);

я получаю нужный хэндл, и могу забить нужный текст.
...
Рейтинг: 0 / 0
... вкалывают роботы, а не человек!
    #32930614
Фотография hell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из ответов понял, что rational robot и его скриптовый язык не смотрели... А он как раз это делает легко

"The CBO without stats is like a morning without coffee." T.Kyte
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / ... вкалывают роботы, а не человек!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]