Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Открытие меню, нажатия кнопок, перепечатывания, В другом приложении 
:(
    Опции темы
Addmin
Дата 14.12.2008, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 3.2.2006
Где: сослан в Сибирь

Репутация: нет
Всего: 15



Здравствуйте!

Возникла такая проблема: необходимо автоматизировать некоторый процесс в другом приложении (VBA там нет). Мне нужно нажимать элементы менюшек, вводить текст в edit'ы, тыкать на кнопочки... Запись определённых действий мышки и клавиатуры также не подходит. 

Так как мне её решить? Как я понимаю, нужно находить указатели на элементы, но чем? Потом отсылать в форму сообщение, но как? За каждую крупицу информации я буду крайне признателен smile

Заранее спасибо!


--------------------
PM MAIL   Вверх
Rrader
  Дата 14.12.2008, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 70
Всего: 191



Addmin, нужно больше информации. А так, навскидку:

1) Меню стандартное обычное? Тогда управляется через WM_COMMAND
2) Кнопочки - BM_CLICK, WM_LBUTTONDOWN
3) Эдиты - WM_SETTEXT

Поиск окон - FindWindow(Ex), GetWindow, EnumChildWindows и т.д.


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Addmin
Дата 14.12.2008, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 3.2.2006
Где: сослан в Сибирь

Репутация: нет
Всего: 15



Rrader, какая нужна информация? Готов предоставить что угодно smile Вообщем, суть проста: я открыл программу, выбрал в меню (да, стандартном) элемент "Open...", потом - элемент "Do'with'file", заполнил пару Edit'ов, щёлкнул кнопку и сохранил.


--------------------
PM MAIL   Вверх
Rrader
  Дата 14.12.2008, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 70
Всего: 191



Если меню стандартное, то покажу, как в нем итемы нажимать, на примере своего меню.

1) Кидаем на форму TMainMenu;
2) Добавляем в меню итемы, прописываем им обработчики для проверки, нажалось ли smile 
3) Скачиваем программу InqSoft Window Scanner, если таковой не имеется;
4) Выбираем окно приложения в сканере;
5) Нажимаем в сканере кнопку "Меню";
6) Появится дерево итемов - ищем нужный, при этом внизу будет отображаться его ItemID;
7) Теперь, зная ItemID, можно по нему программно нажать:
Код

SendNotifyMessage(Form1.Handle, WM_COMMAND, ItemID, 0);

Здесь ItemID - тот идентификатор, полученный из сканера.

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


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0645 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.