Есть некое приложение в котором надо найти и кликнуть на кнопку. Проблема в том, что кнопка является дочерней к большому колличеству других окон(4) и к тому же хотелось бы что б можно было получить хэндл для любой кнопки этого приложения, без дологоко выцепления ее через GetFildWindowEx() по всей иерархии...
Здравствуйте, wwolandd, Вы писали:
W>Есть некое приложение в котором надо найти и кликнуть на кнопку. Проблема в том, что кнопка является дочерней к большому колличеству других окон(4) и к тому же хотелось бы что б можно было получить хэндл для любой кнопки этого приложения, без дологоко выцепления ее через GetFildWindowEx() по всей иерархии...
А как насчет если попробовать WindowFromPoint / ChildWindowFromPoint ? Если координаты или относительное расположение кнопки "более-менее" фиксированны?
Здравствуйте, wwolandd, Вы писали:
W>Есть некое приложение в котором надо найти и кликнуть на кнопку. Проблема в том, что кнопка является дочерней к большому колличеству других окон(4) и к тому же хотелось бы что б можно было получить хэндл для любой кнопки этого приложения, без дологоко выцепления ее через GetFildWindowEx() по всей иерархии...
Здравствуйте, wwolandd, Вы писали:
W>И еще один вопрос: как получить список всех дочерних окон? W>EnumWindows() дает только окна верхнего уровня, больше ничего подходящего ненашел.
Здравствуйте, wwolandd, Вы писали:
W>Есть некое приложение в котором надо найти и кликнуть на кнопку. Проблема в том, что кнопка является дочерней к большому колличеству других окон(4) и к тому же хотелось бы что б можно было получить хэндл для любой кнопки этого приложения, без дологоко выцепления ее через GetFildWindowEx() по всей иерархии...
А нельзя просто послать WM_COMMAND с ID этой кнопки?
EnumChildWindows - If a child window has created child windows of its own, EnumChildWindows enumerates those windows as well. !!!
Через FindWindow нужное нам верхнее окно, а потом EnumChildWindows
Или можно в EnumChildWindows вообще хендл десктопа передать, тогда совсем просто получается...