Zaznaczanie autocheckboxa

0

Witam! Jaką funkcją mogę zaznaczyć autocheckboxa w nie swoim programie? SendMessage? I mam jeszcze problem z uchwytem do tego... Próbowałem go pozyskać przy pomocy FindWindowEx ale nic mi nie zwraca, znam tylko nazwę klasy w jakiej się znajduje.

0

Znaczy chcesz z poziomu swojej aplikacji sterować interfejsem obcej aplikacji od tak po prostu?
Nie wiedziałem nawet, że tak się da, poza tym pytanie, dlaczego system operacyjny miałby w ogóle na coś takiego zezwolić ...

1

Jak najbardziej się da i nie jest to skomplikowane. Wystarczy dostać uchwyt kontrolki i wysłać do niej odpowiednią wiadomość. Coś takiego jest jak najbardziej dopuszczalne i wspierane przez system. Funkcje WinApi FindWindow(Ex), Enum(Child)Windows, GetDlgItem, SendMessage itp. Dzięki temu możesz rozszerzyć funkcjonalność jakiejś aplikacji bez ingerencji w jej kod. Po prostu symulować działanie użytkownika.
Coś takiego można zastosować np. do przeprowadzania testów aplikacji. Wykonać jakąś czynność x razy. Zamiast klikać jedno i to samo, można zautomatyzować taki proces.

@autor: musisz dostać uchwyt okna w którym ta kontrolka się znajduje, potem przy pomocy tego uchwytu odnaleźć interesującą Cię kontrolkę. Można do jej zidentyfikowania wykorzystać nazwy klas kontrolek, ich nazwy, ich ID(jeżeli jest stałe), położenie itp.
Razem z Visual Studio jest aplikacja Spy++(pewnie można ją też ściągnąć osobno), przydatna przy takich zabawach.

0
byku_guzio napisał(a)

Jak odpalisz Spy++ to powinieneś zobaczyć, że ten checkbox nie jest dzieckiem głównego okna, ale jeszcze jeden poziom głębiej. Nad nim jest "TrueCrypt Setup Wizard" klasy #32770 (Dialog). Dopiero tam siedzi "I a&ccept and agree to be bound by the license terms" klasy Button.
A w temacie nie specjalnie się orientuje, ale 2 dni temu bawiłem się czymś takim ;)

Dzięki, wszystko już trybi ;)

1

Jak odpalisz Spy++ to powinieneś zobaczyć, że ten checkbox nie jest dzieckiem głównego okna, ale jeszcze jeden poziom głębiej. Nad nim jest "TrueCrypt Setup Wizard" klasy #32770 (Dialog). Dopiero tam siedzi "I a&ccept and agree to be bound by the license terms" klasy Button.
A w temacie nie specjalnie się orientuje, ale 2 dni temu bawiłem się czymś takim ;)

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