Все эти кнопки, панельки менюшки могут иметь сложную иерархию, поэтому необходимо пробегаться в глубь по дочерним... делать такой довольно геморройное занятие, если ты ничего не знаешь об этой внутренней иерархии
Вообщем, в твоем случае проще сделать так: запустить Spy++(или WinInspector) - он тебе покажет всю иерархию окон. Чтобы долго не искать по этому дереву, можно ткнуть в нужную кнопку и он сразу перейдет к ней и покажет ее в иерар. дереве. Как правило в каждой программе очень часто элементы имееют свои уник. классы и по ним легко дойти до нужного элемента без всякого перебора.
Например, так я добирался до адресной строки в проводнике:
- Код: Выделить всё
'Ищем hWnd Проводника по его классу
hndExpl = FindWindow("ExploreWClass", vbNullString)
'Ищем hWnd ComboBox, который содержит адрес, продираясь через его родителей
hndWork = FindWindowEx(hndExpl, 0, "WorkerA", vbNullString)
hndBar = FindWindowEx(hndWork, 0, "ReBarWindow32", vbNullString)
hndComb = FindWindowEx(hndBar, 0, "ComboBoxEx32", vbNullString)
Главное двигаться не быстрее, чем думает твоя голова.