Meni je takodje interesantno ovo pitanje kontrole drugih aplikacija iz svoje aplikacije,
i koliko vidim naveli ste dva nacina da se ovo radi, prvi preko simulacije aktivnosti misa i
tastature (ili bilo kojih drugih Input uredjaja), i drugi nacin da se pomocu nekih pomenutih alata
prati sta program i s cime radi (primer sa spy-em i WM_COMMAND) pa se komande direktno salju programu preko tih
funkcija ili varijabli. Mislim da prvi nacin samo na oko izgleda jednostavniji, ali bih kad god je to moguce koristio drugi
(lower-level) nacin, izgleda mi pouzdanije (zato sto je mnogo neposredniji).
Hocu reci, mnogo vise i kvalitetnije mozes uraditi ako znas sa kojim varijablama ili funkcijama doticni program
operise (bukvalno, mozes raditi sta ti padne na pamet). Neki programeri (kao oni iz WinAmp) su spremni da odredjene
funkcije i varijable stave korisniku / programeru na raspolaganje pa je kod njih lakse jer se ne moras zezati
sa kojekakvim spy alatima. Ono sa simulaciijom bih radio samo ako je nesto manje bitno, jednostavno, itd.
Evo samo jedan primer problema toga sa simulacijom. Recimo odredis relativan polozaj dugmeta "Play" u nekom plejeru
u odnosu na gornju levu ivicu prozora. Ok. Medjutim u trenutku kada se pozove tvoja funkcija za klik, eto bas tada se PREKO
TOG PLEJERA na desktopu pojavi nekakav pop-up prozor drugog programa (recimo, firewall ili anti-virus) i onda tvoja
funkcija klikne na neko dugme u tom programu ("allow" u zone-alarmu :)) ... ovo je banalan primer i zato kazem da ovo sa simulacijom samo izgleda jednostavno ali ako se ne misli na milion drugih nepredvidjenih okolnosti (mogao bih navesti bar jos deset), moze da se desi svasta, dok je operisanje direktno sa varijablama programa egzaktno i mnogo "urednije"....
Recimo ako hoces iz koda da resetujes windows, sigurno neces "kliktati" nekakvom funkcijom
na start pa turn off pa reset.... (strasno :))
nego ces lepo preko ShellApi-ja to odraditi kulturno i sigurno.
Pozdrav svima.
IN VINO VOMITUS