|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.06.2017, 08:02 | #1 |
Новичок
Джуниор
Регистрация: 05.06.2017
Сообщений: 4
|
Найти и нажать нужную кнопку другой программы
Пользовался FindWindowEx все работало хорошо, пока не попалась одна программа, где функция не сработала. Почитав тему http://www.programmersforum.ru/showthread.php?t=5139
выяснил, что возможно, кнопка расположена на панели или типа того. в той же теме (пост №3) была приведена рекурсивная функция, которая обходит "оконное дерево" в поисках нужной кнопки по кэпшену. Все бы ничего, но она написана на Си и прежде чем автор откликнулся на просьбу написать подобное на Паскале, тему закрыли. Своими силами написать не смог, поэтому прошу помощи. Вот, собственно, она: Код:
|
05.06.2017, 09:21 | #2 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Вот накидал из вашего примера в любом окне находит нужное дочернее окно
Код:
Последний раз редактировалось Aliens_wolfs; 05.06.2017 в 09:23. |
05.06.2017, 10:42 | #3 |
Новичок
Джуниор
Регистрация: 05.06.2017
Сообщений: 4
|
Спасибо, но не совсем так.
Например мне нужно нажать Кнопку №3 структура формы: ...................Главная______фор ма.......................... .................../........................... \........................ ............Панель N1 ................. Панель N2............... .........../........... \.................. /.............\.............. ....кнопка N1 .... Кнопка N2 ... Панель N3 ... Кнопка N3 ................................... ......./................................ ................................... Кнопка N4.......................... Ваша функция обходит все дочерние элементы главной формы (т.е. Панель №1 и Панель №2) и, не найдя Кнопку №3, возвращает 0. Я доработал условие: Код:
но возвращается все равно 0. Не пойму почему... |
05.06.2017, 12:00 | #4 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Подкорректировал попробуйте
Код:
Последний раз редактировалось Aliens_wolfs; 05.06.2017 в 12:25. |
05.06.2017, 12:20 | #5 |
Новичок
Джуниор
Регистрация: 05.06.2017
Сообщений: 4
|
Все равно возвращается 0.
У меня отрабатывает вот такой вариант: Код:
"Access violation at address EE20E5E8. Read of address EE20E5E8." |
05.06.2017, 12:31 | #6 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Попробуйте
Код:
Код:
Последний раз редактировалось Aliens_wolfs; 05.06.2017 в 18:15. |
05.06.2017, 12:43 | #7 |
Новичок
Джуниор
Регистрация: 05.06.2017
Сообщений: 4
|
Да! Прекрасно работает!
Безмерно благодарен вам за помощь, дорогой друг! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти кнопку и нажать на неё в Webbrowser | vmilyoshin | Общие вопросы Delphi | 0 | 23.01.2015 20:36 |
Как из VBA нажать на кнопку программы на php | Jaroslav | Microsoft Office Excel | 2 | 12.04.2014 00:17 |
Нажать на кнопку MainMenu Чужой программы | maks5 | Общие вопросы Delphi | 2 | 05.01.2012 23:34 |
Нужно программно найти окно программы и нажать на нем кнопку | SeRыЙ | Win Api | 23 | 09.03.2010 08:00 |