Получить HWND(хендл) внутреннего окна процесса .

Gafask

Участник
Автор темы
137
13
Здравствуйте, подскажите как перепрыгнуть через окно или как правильно получить hwnd внутреннего окна ( не знаю как правильно назвать ) приложения .

Мне удалось получить пошагово только часть hwnd нужно окна, но на одном из этапов есть разветвления где в 1 окне находятся 2 пути и код выбирает путь 1 всегда а нужно выбрать путь 2 , не знаю как еще рассказать .

Дошел до этого участка который показан на Скриншот_1 и тут появляется 2 пути, в доп. окне ( Скриншот_1. Красная точка ) показывается до какого хендла мне удалось дойти
.
YV48mcpLVLs.jpg

Скриншот_1.
Если использовать дальше мой код то следующий шаг приведет меня к не верному хендлу , а по плану он должен был показать мне хендл который показан на скришоте_2 ( красная точка )
B3mVMIJwopg.jpg

Скриншот_2
Если действовать дальше таким же методом как у меня , то код проваливается дальше в окна и дает мне не верный хендл 0x5308F6 (скриншот 3 ) а планировалось на
0x80622( скриншот_2 )


Мой код который работает не коректно
HWND hPaint = ::FindWindow(nullptr, L"Oktell"); HWND hWnd1 = ::FindWindowEx(hPaint , NULL, L"WindowsForms10.Window.8.app.0.329445b_r7_ad1", nullptr); HWND hWnd2 = ::FindWindowEx(hWnd1, NULL, L"WindowsForms10.Window.8.app.0.329445b_r7_ad1", nullptr); HWND hWnd3 = ::FindWindowEx(hWnd2, NULL, L"WindowsForms10.Window.8.app.0.329445b_r7_ad1", nullptr); HWND hWnd4 = ::FindWindowEx(hWnd3, NULL, L"WindowsForms10.Window.8.app.0.329445b_r7_ad1", nullptr); HWND hWnd5 = ::FindWindowEx(hWnd4, NULL, L"WindowsForms10.Window.8.app.0.329445b_r7_ad1", nullptr);

3.jpg

Скришот_3
Конечный мой путь до которого я пытаюсь добраться это хендл - 0x001408C8 ( скриншот_4 )
4.jpg

Скриншот_4
Возможно я использую не ту программу для поиска внутренних окон , спросите почему я так думаю ?
Ответ: У людей в интернете корректные названия классов, а у меня они почти все одинаковые Windows Form и тд , возможно это так и должно быть .
Если программа плохая , то скажите пожалуйста хорошую программу для поиска внутренних окон .
Спросите зачем тебе это ?
Ответ: Я хочу отправить нажатие ЛКМ в окно , да и на будущее пригодится очень сильно .
Скажите загугли , это изи .
Ответ: Пробовал гуглить, но результатов мало так как я не понимаю как это корректно называться для поиска, побольше части я находил примеры случайно когда искал то что близко относиться к этому вопросу .
Вообще
вопрос в том как получить HWND (хендл) внутреннего окна на данном примере и отправить туда нажатие ЛКМ .
Спасибо что дочитали до конца , надеюсь вы мне поможите , заранее вам спасибо за помощь
.