[Delphi][WebBrowser] Wklejanie tekstu bezpośrednio do ...

0

Witam. Piszę program który wyświetla mi np. google.pl w komponencie[webbrowser]. Jak wiadomo domyślnie kursor jest ustawiony w wyszukiwarce na edicie gdzie wpisujemy interesującą nas frazę, a potem po enterze wyszukujemy daną frazę. Chodzi mi o to, że jeżeli załaduje mi się strona, to żeby automatycznie po załadowaniu(google.pl) wklejany został tekst np. dom i naciskany został enter. Doszedłem już do tego, jak wyświetlać strony w WebBrowserze i do funkcji OnDocumentComplete, także połowa sukcesu. Teraz nie wiem jak wkleić bespośrednio do komponentu WebBrowser tekst i potwierdzić go Enterem.

0

dolanczam sie do pytania ?

0

A nie wystarczy takie coś np:
<url>http://www.google.pl/search?hl=pl&q=szukana_fraza&btnG=Szukaj&lr=</url>?

0
mike87 napisał(a)

A nie wystarczy takie coś np:
<url>http://www.google.pl/search?hl=pl&q=szukana_fraza&btnG=Szukaj&lr=</url>?

Nie, bo to nie o to chodzi. Wiesz jak działa w Operze przycisk Hasło(Ctrl+Enter). Na danej stronie automatycznie po kliknięciu wklepuje Ci hasełko i zatwierdza. O to mi właśnie chodzi. Masz jakiś pomysł na realizację tego ??

0

Mam taki kodzik:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Edit: TEdit;
    procedure Timer1Timer(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i:integer;
implementation

{$R *.dfm}



procedure TForm1.Timer1Timer(Sender: TObject);
var h:thandle;
inp:tinput;
str:string;
begin
str:='wysylany text';
   // nacisniecie
   Inp.Itype := INPUT_KEYBOARD;{ inputowanie}
   Inp.ki.wVk := Ord(UpCase(str[i]));
   Inp.ki.dwFlags := 0;
   SendInput(1, Inp, SizeOf(Inp)); {wysylanie}
   {uwolnienie}
   Inp.Itype := INPUT_KEYBOARD; {inputowanie}
   Inp.ki.wVk := Ord(UpCase(str[i]));
   Inp.ki.dwFlags := KEYEVENTF_KEYUP; {podniesienie klawisza}
   SendInput(1, Inp, SizeOf(Inp));{wysylanie tyle ile dlugosc}
   Application.ProcessMessages;   {wiadomosci}
   Sleep(80);
   inc(i);
   if i=length(str)+1 then
    begin;
       Inp.Itype := INPUT_KEYBOARD;{ inputowanie}
       Inp.ki.wVk := 13;
       Inp.ki.dwFlags := 0;
       SendInput(1, Inp, SizeOf(Inp)); {wysylanie}
       {uwolnienie}
       Inp.Itype := INPUT_KEYBOARD; {inputowanie}
       Inp.ki.wVk := 13;
       Inp.ki.dwFlags := KEYEVENTF_KEYUP; {podniesienie klawisza}
       SendInput(1, Inp, SizeOf(Inp));{wysylanie tyle ile dlugosc}
       Application.ProcessMessages;   {wiadomosci}
       Sleep(80);
      timer1.Enabled:=false;
    end;


end;

procedure TForm1.FormActivate(Sender: TObject);
begin
i:=1;
end;

end.

Na formie połóż TTimer o nazwie timer1.
Wpisuje tekst 'wysylany text' do aktywnego okna - ten kod na pewno da się wykorzystać w tym przypadku, tylko musisz nad nim nieco popracować.

Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1