(CodeLib-Manager)
Registriert seit: 10. Jun 2002
4.648 Beiträge
Delphi XE Professional
|
Re: URLs aus Firefox-Instanzen auslesen
23. Feb 2005, 16:48
Hi,
Probiere mal diese Funktion:
Delphi-Quellcode:
procedure GetCurrentURL( out URL, Title: string);
var
DDEClient : TDDEClientConv;
p, q: PChar;
i: Integer;
begin
DDEClient := TDDEClientConv.Create( nil);
try
with DDEClient do if SetLink(' IExplore', ' WWW_GetWindowInfo') or
SetLink(' Netscape', ' WWW_GetWindowInfo') or
SetLink(' Mosaic', ' WWW_GetWindowInfo') or
SetLink(' Netscp6', ' WWW_GetWindowInfo') or
SetLink(' Mozilla', ' WWW_GetWindowInfo') or
SetLink(' Firefox', ' WWW_GetWindowInfo') then
p := RequestData(' 0xFFFFFFFF')
else raise Exception.Create(' Could not establish browser DDE link');
if Assigned(p) then try
q := p;
Assert(q^ = ' "');
SetLength( URL, StrLen(q));
Inc(q);
i := 0;
while q^ <> ' "' do begin
if (q^ = ' \') and (q[1] = ' "') then Inc(q);
Inc(i);
URL[i] := q^;
Inc(q);
end;
SetLength( URL, i);
SetLength(Title, StrLen(q));
i := 0;
Inc(q, 3);
while q^ <> ' "' do begin
if (q^ = ' \') and (q[1] = ' "') then Inc(q);
Inc(i);
Title[i] := q^;
Inc(q);
end;
SetLength(Title, i);
finally
StrDispose(p);
end else raise Exception.Create(' Could not fetch browser data');
finally
DDEClient.Free;
end;
end;
Thomas
|
|
Zitat
|