W załączonym zdjęciu mam okno w którym są liczby do których dostęp mnie interesuje.
Jeżeli dasz radę myszą zaznaczyć te liczby to znaczy, że są to pola edycyjne z wyłączonym obramowaniem i o kolorze tła zgodnym z kolorem okna. Takie pola wykorzystywane są nawet w różnych systemowych narzędziach (np. w oknie właściwości pliku). Wtedy wystarczy to co opisałem w poprzednim poście – dobrać się do uchwytu kontrolki i wysłać WM_GETTEXT
.
W przeciwnym razie liczba renderowana jest w kontrolce graficznej (tu: etykieta), a taka nie posiada uchwytu, więc nie da się do niej dobrać za pomocą funkcji z biblioteki systemowej. W takim przypadku pozostanie zrzut ekranu i wykonanie zwykłego OCR.
Tu też przydadzą się funkcje systemowe, w celu pobrania uchwytu płótna pulpitu (GetDesktopWindow
i GetWindowDC
) i wyznaczenia obszaru zajmowanego przez okno programu (na podstawie uchwytu okna programu – FindWindow
). Dalej to już pozyskanie konkretnego fragmentu zajmowanego przez liczbę (np. na podstawie ustalonych offsetów) i rozpoznanie znaków. Do tego są biblioteki – nie musisz tego pisać sam.
W świetle prawa te które nie łamią zabezpieczeń programu (najprawdopodobniej).
W świetle prawa (przede wszystkim autorskiego), nie możesz modyfikować zawartości i wpływać na działanie programu na potrzeby inne niż własne. Ogólnie chodzi o to, aby zmodyfikowana wersja nie krążyła w sieci i aby twórcy nie ponosili strat z tego tytułu (głównie finansowych).
Tak więc nawet wstrzykiwanie kodu czy rewersowanie jest dozwolone, co najwyżej nieopłacalne ze względu na stopień skomplikowania i czas potrzebny na naukę i implementację.