Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Controlclick bez ID


Rekomendowane odpowiedzi

Opublikowano

Cześć,

napisałem skrypt który symuluje kliknięcia myszą. Najpierw klika prawym przyciskiem w jednym konkretnym miejscu, a potem lewym przyciskiem w jednym z wielu miejsc (na obszarze). Zrobiłem to za pomocą Mouseclick() i działa bez zarzutu. Ale teraz chciałbym aby skrypt działał w tle, dlatego użyłem Controlclick(). Problem w tym, że nie ma ID. Próbowałem zrobić to w ten sposób:

;MouseClick("right", 1634,195 ,1,1) pierwsza działająca wersja

ControlClick("Medivia","", "", "right",1,1634,195)

;MouseClick("left", $cordX[$square], $cordY[$square]) pierwsza działająca wersja

ControlClick("Medivia","", "", "left",1 ,$cordX[$square] ,$cordY[$square])

Częściowo działa, tzn. skrypt klika... ale tylko w miejscu gdzie ja pozostawię kursor. Sam skrypt kursorem nie porusza.

Może mi ktoś pomóc?

Opublikowano

Czy próbowałeś odczytać ID kontrolki programem AutoIt Window Info Tool (plik w folderze AutiIt'a Au3Info.exe). https://pl.wikibooks.org/wiki/AutoIt/Przejmowanie_kontroli#ControlClick

Niestety program ten rozpoznaje tylko standardowe kontrolki Windows. Jeżeli odczytanie ID nie jest możliwe, to znaczy że program korzysta z niestandardowych kontrolek.

Sytuacja wtedy jest prawie beznadziejna. Możliwe by wtedy było tylko skorzystanie z obiektów COM. Ale do tego nie wystarczy tylko bardzo dobra znajomość AutoIt'a.

Trzeba jeszcze dysponować dokumentacją tychże obiektów znajdujących się w konkretnym programie lub skorzystać z dedykowanego UDF'u.

Obie metody mogą być nie do zrealizowania, pierwsza ze względu na brak dokumentacji, a druga ze względu na brak UDF'u.
UDF'y można znaleźć raczej do bardzo popularnych programów ( https://pl.wikibooks.org/wiki/AutoIt/Wykaz_niektórych_ciekawszych_UDF-ów ), a dokumentację obiektów COM znaleźć jeszcze trudniej.

Opublikowano

Tak, próbowałem odczytać kontrolki za pomocą AutoIt Windows Info Tool. Niestety, tak jak napisałeś, nie są to standardowe kontrolki Windows. Dokumentacji obiektów COM nie posiadam, a dedykowanego UDF z tego co widzę, chyba nie ma. Chyba dam sobie spokój, albo spróbuję za pomocą Autohotkey - chociaż pewnie wyjdzie na to samo :P Dzięki za odp.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...