Het lukt me om met onderstaande code de url van de huidige tab van Firefox uit te lezen:
echter wil ik graag ALLE url's hebben van alle tabjes.
WWW_ListWindows lijkt niet gesupport te worden door Firefox.
Heb al behoorlijk wat gezocht, maar het lukt me niet echt om iets te vinden waarmee dit mogelijk is.
Iemand enige ervaring hier mee? Het hoeft uiteraard niet met DDE, als een andere api werkt ben ik ook blij
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| 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; |
echter wil ik graag ALLE url's hebben van alle tabjes.
WWW_ListWindows lijkt niet gesupport te worden door Firefox.
Heb al behoorlijk wat gezocht, maar het lukt me niet echt om iets te vinden waarmee dit mogelijk is.
Iemand enige ervaring hier mee? Het hoeft uiteraard niet met DDE, als een andere api werkt ben ik ook blij
edit:
Ik kan trouwens ook nergens een officiele reference vinden van de DDE-commands die FF support, wat het niet makkelijker maakt om een oplossing te vinden
Ik kan trouwens ook nergens een officiele reference vinden van de DDE-commands die FF support, wat het niet makkelijker maakt om een oplossing te vinden
[ Voor 23% gewijzigd door JozyDaPozy op 27-04-2006 12:42 ]