Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 15 odgovora
  • 5.207 pregleda

Najnovija ↓

Dogadjaji u drugim programima 04.10.2006. u 19:14 · pre 244 meseca #1
Da li postoji neki kod za aktiviranje buttona u nekom drugom programu, recimo da na se u odredjeno vreme pokrene winamp (aktivira play)...
Hvala unapred
Re: Dogadjaji u drugim programima 04.10.2006. u 20:11 · pre 244 meseca #2
Možeš sa FindWindow (FindWindowEx) da tražiš handle prozora/elemenata prozora, pa da se zezaš ili ako određeni program ima podršku za "saradnju sa drugim programima" :) Winamp ima podršku za to, pa ako ciljaš na Winamp potraži moj AvramsWinampControl.pas, mislim da sam ga kačio čak i na ovaj forum, a možeš i sam da napišeš unit(e) za to, sve piše u Winamp-ovom SDK-u (na sajtu winamp.com)
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: Dogadjaji u drugim programima 04.10.2006. u 21:54 · pre 244 meseca #3
Mislio sam konkretno na program koji ce mi snimati tv program u odredjeno vreme posto default program koji dolazi uz karticu moze da snima ali nema vremenski tajmer koji bi to radio. Mislio sam da se u odredjeno vreme aktivira dugme za snimanje.... Kartica je inno, stara jedno 5 godina ali za drugu trenutno nemam para ... :)
Pokusacu sa tom funkcijom. Imas neki source kako bi to trebalo da izgleda pa da vidim kako to otprilike treba da izgleda?
Re: Dogadjaji u drugim programima 05.10.2006. u 02:35 · pre 244 meseca #4
Nemam nikakav kod. As a matter of fact, najdalje što sam ja stigao je FindWindow, odnosno našao sam handle prozora drugog programa. Handle neke kontrole u tom prozoru nisam nikada uspeo da nađem, mada nisam ni pokušavao nešto preterano...
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: Dogadjaji u drugim programima 05.10.2006. u 11:05 · pre 244 meseca #6
> Da li postoji neki kod za aktiviranje buttona u nekom drugom programu, recimo da
> na se u odredjeno vreme pokrene winamp (aktivira play)...
> Pokusacu sa tom funkcijom. Imas neki source kako bi to trebalo da izgleda pa
> da vidim kako to otprilike treba da izgleda?

U takvim situacijama je prvi korak istraživanje programa koji se hoće kontrolisati. Startuje se WinSight32 ili Spy++, i dalje se npr. pregledaju poruke koje prozor dobija kao reakciju na startovanje opcija (ako je klasičan button onda su to WM_COMMAND) i pokuša se simuliranje istih. WinAmp nisam nikada gledao, ali mi ne deluje da koristi klasične win button kontrole, već slike dugmadi. Ako je zaista tako, onda opet svakako treba ispitati poruke koje se šalju i videti postoji li neko pravilo. Ideja za realizaciju je da se vidi relativni položaj dugmeta u odnosu na početak prozora programa a kasnije u kodu na osnovu trenutnog položaja prozora, simulira pritisak miša na poziciju na kojoj je slika.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Dogadjaji u drugim programima 05.10.2006. u 14:59 · pre 244 meseca
izmenjeno 1 put, poslednji put bizzy86 06.10.2006. u 01:03
  1. bizzy8606.10.2006. u 01:03zapis iz teksta poruke
#7
Meni bi bilo i dovoljno da se u prozoru tog programa zvekne enter jer je hotkey za rec enter...
Re: Dogadjaji u drugim programima 06.10.2006. u 09:38 · pre 244 meseca #9
> Meni bi bilo i dovoljno da se u prozoru tog programa zvekne enter jer je
> hotkey za rec enter...

Nije tesko, pozove se API funkcija koja simulira pritisak na taster, keybd_event, primeri su slati pre desetak dana.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Dogadjaji u drugim programima 09.10.2006. u 08:33 · pre 244 meseca #11

> Jos nema ni jedan Source za ovo ???
> Hajde ljudi, ako neko ima nek postuje...

Dobio si algoritam, ne možeš očekivati da neko uradi program za tebe. Kreni da radiš pa ako negde zaglaviš, pitaj.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Dogadjaji u drugim programima 09.10.2006. u 08:38 · pre 244 meseca #12
Citat:
bizzy86: Mislio sam konkretno na program koji ce mi snimati tv program u odredjeno vreme posto default program koji dolazi uz karticu moze da snima ali nema vremenski tajmer koji bi to radio. Mislio sam da se u odredjeno vreme aktivira dugme za snimanje.... Kartica je inno, stara jedno 5 godina ali za drugu trenutno nemam para ... :)

Nemoj da se mucis kada postoje WinDVR i PowerVCR.
Re: Dogadjaji u drugim programima 10.10.2006. u 02:01 · pre 244 meseca #13
Hvala svima, na kraju sam i ja nasao gomilu programa koji rade sa svim tipovima kartica...
Re: Dogadjaji u drugim programima 10.10.2006. u 07:50 · pre 244 meseca #14
Citat:
savkic: > Jos nema ni jedan Source za ovo ???
> Hajde ljudi, ako neko ima nek postuje...

Dobio si algoritam, ne možeš očekivati da neko uradi program za tebe. Kreni da radiš pa ako negde zaglaviš, pitaj.


Meni licno to i ne treba, ali kao sto sam pre naveo zanima me. Nisam ja ni trazio da meni neko odradi ceo program, vec da ako neko vec ima deo tog koda da postuje ovde ako hoce... ;)
Nadam se da smo se razumeli... :-)
Potpis

My IT View Of Life-BrLOG-Delphi for PHP


» LinkedIn
Re: Dogadjaji u drugim programima 22.10.2006. u 16:28 · pre 243 meseca #15
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.
Potpis
IN VINO VOMITUS
Re: Dogadjaji u drugim programima 22.10.2006. u 21:50 · pre 243 meseca #16
Evo jedan glup primer:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  RunDialog, OKBtn: THandle;
begin
  RunDialog := FindWindow(nil,'Run');
  OKBTn := FindWindowEx(RunDialog, 0, nil, 'OK');
  SendMessage(OKBtn, WM_LBUTTONDOWN, WPARAM(MK_LBUTTON), 0);
  SendMessage(OKBtn, WM_LBUTTONUP, WPARAM(MK_LBUTTON), 0);
end;

Dakle otvori Start->Run dijalog, i onda pokreni svoj program, koji ce da uzme handle od Run dijaloga, pa onda handle od OK dugmeta, a onda ce dugmetu poslati mouse down i mouse up komende (= click).
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme