| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Открытие меню, нажатия кнопок, перепечатывания |
| Автор: Addmin 14.12.2008, 08:48 |
| Здравствуйте! Возникла такая проблема: необходимо автоматизировать некоторый процесс в другом приложении (VBA там нет). Мне нужно нажимать элементы менюшек, вводить текст в edit'ы, тыкать на кнопочки... Запись определённых действий мышки и клавиатуры также не подходит. Так как мне её решить? Как я понимаю, нужно находить указатели на элементы, но чем? Потом отсылать в форму сообщение, но как? За каждую крупицу информации я буду крайне признателен Заранее спасибо! |
| Автор: Rrader 14.12.2008, 08:54 |
| Addmin, нужно больше информации. А так, навскидку: 1) Меню стандартное обычное? Тогда управляется через WM_COMMAND 2) Кнопочки - BM_CLICK, WM_LBUTTONDOWN 3) Эдиты - WM_SETTEXT Поиск окон - FindWindow(Ex), GetWindow, EnumChildWindows и т.д. |
| Автор: Addmin 14.12.2008, 09:02 |
| Rrader, какая нужна информация? Готов предоставить что угодно |
| Автор: Rrader 14.12.2008, 09:26 | ||
| Если меню стандартное, то покажу, как в нем итемы нажимать, на примере своего меню. 1) Кидаем на форму TMainMenu; 2) Добавляем в меню итемы, прописываем им обработчики для проверки, нажалось ли 3) Скачиваем программу http://kickme.to/inqsoft, если таковой не имеется; 4) Выбираем окно приложения в сканере; 5) Нажимаем в сканере кнопку "Меню"; 6) Появится дерево итемов - ищем нужный, при этом внизу будет отображаться его ItemID; 7) Теперь, зная ItemID, можно по нему программно нажать:
Здесь ItemID - тот идентификатор, полученный из сканера. Эти действия можно выполнять и для чужого приложения. Нужно посылать сообщение окну, которому меню принадлежит. |