Program sterujący drugim programem. Wykonalne?


(Roznow) #1

Dzień dobry!


(hindus) #2

Zawsze możesz emulować wciśnięcie klawisza / kliknięcie myszą, czyli

  1. focus na aplikację

  2. emulacja kliknięcia

  3. powrót focusa na element który był na początku


(kowgli) #3

To co robisz nie jest najlepszym rozwiązaniem. Foobar udostępnia API do budowania własnych rozszerzeń, w oparciu o nie powstał np. komponent do kontroli przez http (web service). Wykorzystuje go większość aplikacji do zdalnej kontroli nad tym otwarzaczem, możesz i ty.

Link do wtyczki - http://www.floatec.de/downloads/

Przykład użycia - https://play.google.com/store/apps/details?id=com.cav.foobar2000controller

 

Z innymi programami jest podobnie. Bardzo dużo aplikacji, np. cały pakiet Office, umożliwia rozszerzania za pomocą wtyczek. Niektóre programy (np. XBMC) same z siebie udostępniają już web service’y. Inne można kontrolować z wiersza poleceń. Na pewno grzebanie w pamięci działającego programu nie jest dobrym rozwiązaniem. Zresztą nie do końca wiem na jakiej zasadzie to działa przy chronionej pamięci w systemie?


(Roznow) #4

@hindus Pomysł który podałeś wpadł mi do głowy jako pierwszy, niestety zapomniałem dodać, ze chciałbym również pobierać informacje z programu.

 

@kowgli No tak, faktycznie jest i API, ale foobar był przykładem. Istnieje jakiś sposób na aplikację która nie posiada obsługi?


(hindus) #5

Ollydbg i jazda :wink:


(KamilDz) #6

Kiedyś na windowsxp wykrywało się uchwyt okienka (każdy przycisk to inne okienko) i przesyłało się do niego komunikat. To może działać i dzisiaj dla większości aplikacji. Ogólnie zainteresuj się FindWindowEx i SendMessage. Kiedyś był spy++ (SPYXX.exe), dzięki któremu można było podejrzeć przesyłane komunikaty, ale chyba umarł.

http://www.vbforums.com/showthread.php?345259-Use-API-to-programmatically-click-button-of-another-app


(flecht) #7

Jest jeszcze AutoIT. Pozwala na wygodne pisanie skryptów sterujących innymi aplikacjami. W zestawie znajdziesz też narzędzie ujawniające uchwyty do elementów sterujących.


(Kamatori) #8

Od siebie polecam Sikuli.