Enumercja po aplikacji i pobranie uchwytów

0

Witam,
nie mogę odgrzebać swojego kodu, który gdzieś tam kiedyś pisałem, a czasu dość mało, zatem może ktoś podpowie..

Potrzebuję z mojej aplikacji, dobrać się do drugiej aplikacji, która jest także uruchomiona, za pomocą jej nazwy (Caption) oraz pobrać wszystkie jej komponenty np. typu Button (ClassName = 'Button').
Chodzi mi o listę wszystkich np. Buttonów (ich uchwyty oraz najlepiej Captiony, czyli WindowsText). Z obsługą zagłębiania w dół.

Czyli podaję Caption aplikacji, któraj jest uruchomiona i mam listę uchwytów do wszystkich Buttonów.

pozdrawiam

1

Jak pobrać uchwyt okna to raczej wiesz, natomiast przyciski najpewniej możesz wyszukać za pomocą funkcji EnumChildWindows, w której do testowania klasy kontrolki trzeba użyć funkcji GetClassName. Jeśli klasa będzie pasować to pobranie treści przycisku zrealizuj za pomocą funkcji GetWindowText.

W sieci znajdziesz masę przykładów na temat EnumChildWindows.

1

Tak na prawdę miałem problem z pobraniem uchwytu okna aplikacji, w której miałem szukać kontrolek... jakiś składnik przesłaniał uchwyt swoim własnym - dziwactwo jakieś na jednej konfiguracji systemowej.
Rozwiązaniem było dobranie się do uchwytu okna przed PID procesu.

Wklejam ciekawy link z przykładami, które mi się przydały: https://codeoncode.blogspot.com/2016/12/get-processid-by-programname-include.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1