Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2017, 14:07   #1
Ecosasha
Форумчанин
 
Регистрация: 22.05.2009
Сообщений: 248
По умолчанию Есть ли способ нажать кнопку из приложения Delphi в форме MS Word VBA?

Можно из приложения на Delphi нажать на кнопку, размещенную на форме MS Word VBA? Наподобие послать Sendmessage или другие варианты? Не удалось определить класс кнопки на форме VBA.
Какие варианты можно рассмотреть?
Ecosasha вне форума Ответить с цитированием
Старый 15.06.2017, 15:45   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от Ecosasha Посмотреть сообщение
Можно из приложения на Delphi нажать на кнопку, размещенную на форме MS Word VBA?
Можно.

Цитата:
Сообщение от Ecosasha Посмотреть сообщение
Наподобие послать Sendmessage или другие варианты?
СендМессаж чем не устроил?

Цитата:
Сообщение от Ecosasha Посмотреть сообщение
Не удалось определить класс кнопки на форме VBA.
А как определяли? Есть специальные программы, которые любое окно распишут по компонентам (типа Spy или как там её?)


Цитата:
Сообщение от Ecosasha Посмотреть сообщение
Какие варианты можно рассмотреть?
Имитировать нажатие ЛКМ, предварительно подведя её на координаты кнопки на экране
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 15.06.2017, 16:04   #3
Ecosasha
Форумчанин
 
Регистрация: 22.05.2009
Сообщений: 248
По умолчанию

Класс окна формы находил WinSpy+ 1.7, но для других компонентов, как кнопка не показывает класс окна. Хорошо, что посоветуете, что может найти проще?
Ecosasha вне форума Ответить с цитированием
Старый 15.06.2017, 22:05   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Ну хз, вот у меня WinSight, который входит в комплект RAD Studio XE2, прекрасно всё кажет
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 15.06.2017, 22:17   #5
Ecosasha
Форумчанин
 
Регистрация: 22.05.2009
Сообщений: 248
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Ну хз, вот у меня WinSight, который входит в комплект RAD Studio XE2, прекрасно всё кажет
Может, в WinSight не так смотрю чего, но не у всех приложений определяет там. WinInspector, так же как у WinSpy+ 1.7 выводит только форму и панель, на которой располагаются кнопки.
В целом, если на панель послать нажатие левой кнопки с координатами, то вроде работает
SendMessage(PanelHandle, WM_LBUTTONDOWN, MK_LBUTTON, MAKELONG(60,60) );
sleep (10);
SendMessage(PanelHandle, WM_LBUTTONUP, 0, MAKELONG(60,60));
Ecosasha вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как нажать на кнопку в модальной форме чужого приложения? AlexAES Общие вопросы C/C++ 25 02.03.2017 19:12
Нажать кнопку на форме Excel furie1 C# (си шарп) 0 15.04.2012 23:08
Как нажать кнопку другого приложения? TwiX Общие вопросы Delphi 2 29.07.2009 19:08