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.
dolanczam sie do pytania ?
A nie wystarczy takie coś np:
<url>http://www.google.pl/search?hl=pl&q=szukana_fraza&btnG=Szukaj&lr=</url>?
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 ??
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
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.