Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Mouse click na IE

[es] :: C/C++ programiranje :: Mouse click na IE

[ Pregleda: 2458 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Josipn
Josip Nizetic
Zagreb

Član broj: 101640
Poruke: 11
*.adsl.net.t-com.hr.



Profil

icon Mouse click na IE15.10.2006. u 02:23 - pre 213 meseci
Pozdrav svima,

radim aplikaciju gdje mi je potrebno svakih 10 minuta kliknuti na linka u IE. Kako da to sa najmanje muka rijesim, pokusao sam sa emulacijom misa u suradnji sa tastaurom ali bezuspjesno..


Znaci treba bih se pozicionirati na neki X,Y i tada pritisnuti left button....


Bilo kakva pomoc je dobrodosla.


////////


Rijeseno, mala frustracija sinoc pa nisam uvidio ocito...


Pozdrav

[Ovu poruku je menjao Josipn dana 15.10.2006. u 17:49 GMT+1]
Josip
 
Odgovor na temu

anon75319
freelancer
Varazdin(Hrvatska)

Član broj: 75319
Poruke: 239
*.adsl.net.t-com.hr.



Profil

icon Re: Mouse click na IE17.10.2006. u 09:24 - pre 213 meseci
Mozes li napisati kako si to napravio? Na koj način jer meni to isto treba pa nikako da se sjetim
 
Odgovor na temu

passwdpasswd

Član broj: 116565
Poruke: 24
*.adsl.net.t-com.hr.



Profil

icon Re: Mouse click na IE19.10.2006. u 15:42 - pre 213 meseci
Omg, kakav klik na IE link... ako mislis na neki link na nekoj stranici, onda mozes koristit TWebBrowser wraper za IE u borlandovim alatima, nesto tipa ovako:

Code:

 function FillForm(WebBrowser: TWebBrowser; FieldName: String; Value: String): Boolean;
 var
   I, J: Integer;
   FormItem: Variant;
 begin
   Result := False;
   for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
   begin
     FormItem := WebBrowser.OleObject.Document.forms.Item(I);
     for J := 0 to FormItem.Length - 1 do
     begin
       if FormItem.Item(J).Name = FieldName then
       begin
         FormItem.Item(J).Value := Value;
         Result := True;
         Exit;
       end;
     end;
   end;
 end;




function SubmitForm(WebBrowser: TWebBrowser; FieldString:string): Boolean;
var
  i, j: Integer;
  FormItem: Variant;
begin
Result := False;
  for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
  begin
  FormItem := WebBrowser.OleObject.Document.forms.Item(I);
    for j := 0 to FormItem.Length - 1 do
    begin
      if (UpperCase(FormItem.Item(j).Name) = FieldString) then
      begin
      FormItem.Item(j).focus;
      keybd_event( Ord(' '), MapvirtualKey( Ord(' '), 0), 0, 0 );
      keybd_event( Ord(' '), MapvirtualKey( Ord(' '), 0), KEYEVENTF_KEYUP, 0 );
      Result := True;
      end;
    end;
  end;

end;



Ili jednostavno da odglumis klik misa, tj. sa FindWindow nadjes handle od IE-a, pa sa Send/PostMessage posaljes WM_LBUTTONDOWN, u wParam stavis vrijednost MK_LBUTTON, a u LOWORD od lParama ide X-koordinata, u HIWORD od lParama ide Y-koordinata!

Ili mozes pak sam da kucas od IUnknown interfejsa OLE komunikaciju sa IE, il nesto pak lakse da potrazis na netu u vezi DDE komunikacije sa IE, pogledaj dokumentaciju sta sve IE podrzava, ili jednostavno da parsiras HTML kod i da nadjes link koji ti treba pa preko Indy fja jednostavno pozoves IdHttp.Get ili .Post, ili pak preko winsocka posaljes connect, pa GET /sajt_blabla.net HTTP/1.0, pa sa recv primis sav html kod... ili pak imas WinInet apije za rad sa HTTP protokolom i ostalim protokolima..



z
 
Odgovor na temu

[es] :: C/C++ programiranje :: Mouse click na IE

[ Pregleda: 2458 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.