[delphi] sprwdzanie url przegladarki

0

czesc, :)
zastanawiam sie co wstawic do timera a by co 5 sekund sprawdzal mi czy np adres url w przegladarce to www.google.pl jesl itak to wyswietlil mi showmessage('google') , oczywiscie to tyko przyklad bo chodzi mi oto jak sprawdzic ADRES URL ....

Ps. szukanie po tytule okna przegladarki odpada ....

0

Ustawiasz Interval timera na 5000 milisekund, do uses dodajesz DdeMan no i
taki kod sprawdzi Ci aktualny url wpisany w przeglądarce, o podanej nazwie.

function GetActiveURL(Service: String): String;
var
  DDEClient : TDDEClientConv;
  Temp : PChar;
begin
  Result:='';
  DDEClient := TDDEClientConv.Create(nil);
  with DDEClient do
  begin
    SetLink(Service, 'WWW_GetWindowInfo');
    Temp:=RequestData('0xFFFFFFFF');
    Result:=Temp;
    StrDispose(Temp);
    CloseLink;
  end;
  DDEClient.Free;
end;

I później w Timerze wywołujesz tą funkcją z parametrem nazwą przeglądarki.
Tylko że funkcja zwraca poza linkiem tytuł strony oraz nazwę przeglądarki.
Dlatego to musisz wyciąć ze stringa to co zbędne. A funkcje wywołujesz tak:

// Opera:
GetActiveURL('Opera');

// Internet Explorer:
GetActiveURL('IExplore');

// Netscape:
GetActiveURL('Netscape');

// Przykład Timera dla Opery:
var
   Str, Url : string;
begin
   Str := GetActiveURL('Opera');
   Url := Copy(Str, Pos('"', Str) + 1, Pos('","', Str) - 2);
   Caption := Url;
end;

Może takie coś być czy nie o to Tobie chodziło, bo innego sposobu nie znam.
Kod pochodzi z: http://www.delphi3000.com/articles/article_1529.asp?SK=

0

Olesio, a ja mam pytanie. Co będzie jak otwartych będzie kilka przeglądarek, albo np kilka okien jednej przeglądarki...?

0

jeśli kilka przeglądarek, mozesz mieć url z każdej, jeśli kilka okien to dostaniesz url tylko z jednego (chyba aktywnego), też sie z tym gryzłem ale nie znalałżem rozwiazania.

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