Witam,
Czy da się w jakiś sposób napisać aplikację (czy istnieje jakaś taka klasa) która będzie mi w innej aplikacji uzupełniała pola tekstowe?
Pozdrawiam
Rakaz
Witam,
Czy da się w jakiś sposób napisać aplikację (czy istnieje jakaś taka klasa) która będzie mi w innej aplikacji uzupełniała pola tekstowe?
Pozdrawiam
Rakaz
Tak,
Okej, to teraz drugie pytanie.
Jak?
(nie musi to być kod, chodzi mi raczej od podpowiedź chociaż pod jakimi hasłami w google szukać lub jak może się klasa udostępniająca takie metody nazywać)
Zależy to tak naprawdę od twojej docelowej aplikacji. Przykładowo dla tych korzystających z common controls
Windows można użyć komunikatów systemowych, w tym przypadku WM_SETTEXT
.
A jeśli aplikacja w której chcę usupełniać pola nie jest moja (po prostu mam apkę do której muszę przepisać "pierdyliard" operacji (gdzie wszystko mam w pliku a wpisywać mogę tylko po jednym) i chciałbym to sobie zautomatyzować). Ma razie wpadłem na pomysł analizy obrazu (porównywać screen obrazu z danym polem, ustawiać tam myszkę i pisać, ale wydaje mi się to czasochłonne).
Rakaz napisał(a):
Ma razie wpadłem na pomysł analizy obrazu (porównywać screen obrazu z danym polem, ustawiać tam myszkę i pisać, ale wydaje mi się to czasochłonne).
Szczerze to chyba najgorszy z możliwych pomysłów :)
Możesz się zainteresować testami automatycznymi, nagrać skrypt, zedytować, wrzucić pętle pobierająca twoje dane i iść na kawę. Skrypt zrobi małpią robotę ale też to chwilę zajmie, ale na pewno mniej niż ręczne wpisywanie. (Przykładowo dla aplikacji webowej możesz wykorzystać Selenium i NUnit).
Opcja prawdopodobnie szybsza pod względem wykonania ale może Ci zająć więcej czasu stworzenie mechanizmu, chodź niekoniecznie.
Grzebiesz po pamięci tamtej aplikacji (polecam metodę "dupa debugging"), szukasz adresów kontrolek i również w pętli uzupełniasz je danymi po czym próbujesz wywołać akcję zapisu. (W tej metodzie dużo zależy od tego jaką aplikację chcesz zautomatyzować, przydatnym narzędziem może być CheatEngine i np. ta biblioteka: http://www.vivid-abstractions.net/programming/vamemory-c-memory-class-net-3-5/
Pewnie jest jeszcze kilka innych rozwiązań.
Dzieki bardzo za pomysly ;)
Skonczylo sie tak, ze i tak zostalem zmuszony do napisania tego oprogramowania sam:) Ale pomysl z CheatEngine'm przetestowalem i jest spoko :)
Pozdrawiam
Rakaz