![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 05.06.2017
Сообщений: 4
|
![]()
Пользовался FindWindowEx все работало хорошо, пока не попалась одна программа, где функция не сработала. Почитав тему http://www.programmersforum.ru/showthread.php?t=5139
выяснил, что возможно, кнопка расположена на панели или типа того. в той же теме (пост №3) была приведена рекурсивная функция, которая обходит "оконное дерево" в поисках нужной кнопки по кэпшену. Все бы ничего, но она написана на Си и прежде чем автор откликнулся на просьбу написать подобное на Паскале, тему закрыли. Своими силами написать не смог, поэтому прошу помощи. Вот, собственно, она: Код:
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
Вот накидал из вашего примера в любом окне находит нужное дочернее окно
Код:
Последний раз редактировалось Aliens_wolfs; 05.06.2017 в 09:23. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 05.06.2017
Сообщений: 4
|
![]()
Спасибо, но не совсем так.
Например мне нужно нажать Кнопку №3 структура формы: ...................Главная______фор ма.......................... .................../........................... \........................ ............Панель N1 ................. Панель N2............... .........../........... \.................. /.............\.............. ....кнопка N1 .... Кнопка N2 ... Панель N3 ... Кнопка N3 ................................... ......./................................ ................................... Кнопка N4.......................... Ваша функция обходит все дочерние элементы главной формы (т.е. Панель №1 и Панель №2) и, не найдя Кнопку №3, возвращает 0. Я доработал условие: Код:
но возвращается все равно 0. Не пойму почему... |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
Подкорректировал попробуйте
Код:
Последний раз редактировалось Aliens_wolfs; 05.06.2017 в 12:25. |
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 05.06.2017
Сообщений: 4
|
![]()
Все равно возвращается 0.
У меня отрабатывает вот такой вариант: Код:
"Access violation at address EE20E5E8. Read of address EE20E5E8." |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
Попробуйте
Код:
Код:
Последний раз редактировалось Aliens_wolfs; 05.06.2017 в 18:15. |
![]() |
![]() |
![]() |
#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 |