Поиск child-окна

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Поиск child-окна

Сообщение Antonariy » 25.01.2006 (Ср) 13:19

Есть хендл окна, где-то в дебраях его потомков прячется нужное окно с определенным текстом. Хотел искать рекурсией через EnumChildWindows, однако такой колбэк не работает:
Код: Выделить всё
Function EnumChildProc(ByVal hWnd As Long, lParam As Long) As Long
   Debug.Print hWnd, GetWindowTitle(hWnd)
   EnumChildWindows hWnd, AddressOf EnumChildProc, lParam
End Function
Может у кого-нибудь есть пример, строящий дерево окон, а то что-то ничего не нашел, а рожать в муках очередной велосипед не хочется...
Лучший способ понять что-то самому — объяснить это другому.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 25.01.2006 (Ср) 13:59

Надо юзать GetWindow, хотя можно и Enum-ом. Не знаю что у тебя не получилось. Но для поиска дочерних окон Enum не рекомендую - он некоторые окна по 2 раза выдает (столкнулся с этим в своей проге).
Вообщем, если дождешься завтра будет 100% работающий код (принесу свои наработки)
А я все практикую лечение травами...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.01.2006 (Ср) 14:05

Для начала, callback должен возвращать 1 для продолжения поиска...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.01.2006 (Ср) 14:18

Для изначального начала, прога не запускается с таким колбеком...
А за 1 спасибо.
Лучший способ понять что-то самому — объяснить это другому.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 25.01.2006 (Ср) 14:20

GSerg писал(а):Для начала, callback должен возвращать 1 для продолжения поиска...

Тоже верно, что-то я не обратил на это внимания...
А я все практикую лечение травами...

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.01.2006 (Ср) 14:20

Twister Да хоть сто... Мне нужно его найти, не более.
Лучший способ понять что-то самому — объяснить это другому.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.01.2006 (Ср) 14:28

Вопрос снят.
Лучший способ понять что-то самому — объяснить это другому.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 4

    TopList