Entwickler-Ecke
Internet / Netzwerk - URL der geöffneten Seite im FireFox auslesen
DELPHIn - Fr 06.05.05 15:57
Titel: URL der geöffneten Seite im FireFox auslesen
Hallo,
ich bin gerade dabei eine Link-Verwaltung zu schreiben und möchte nun die URL einer Webseite auslesen, die in einem geöffneten Fensters des FireFox-Browsers angezeigt wird.
Das habe ich bei einem anderen Programm gesehen und es macht mich verrückt, dass ichs nicht gecodet bekomme.
1. Ermitteln des Fensterhandles:
Mit FindWindowByTitle('Mozilla Firefox') komme ich nicht so recht weiter, da der Fenstertitel sich ständig ändert :( .
2. Auslesen der URL:
Da habe ich nun keine Ahnung und Google konnte auch nicht helfen :? .
Danke
toms - Fr 06.05.05 17:35
Hallo!
So funktionierts bei mir:
Delphi-Quelltext
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:
| uses ddeman;
procedure GetCurrentFirefoxURL(out URL, Title: string); var DDEClient : TDDEClientConv; p, q: PChar; i: Integer; begin DDEClient := TDDEClientConv.Create(nil); try with DDEClient do if 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; |
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt.
DELPHIn - Sa 07.05.05 10:57
Danke, das hat sehr geholfen, endlich gehts.
Ich werde jetzt noch versuchen, alle geöffneten Fenster auszulesen.
| Zitat: |
| So funktionierts bei mir: |
Bist du dabei, ein ähnliches Programm zu schreiben?
Terra - So 20.04.08 17:46
Geht diese Function auch mit allen anderen Browsern ?
Terra
DELPHIn - Mo 21.04.08 13:32
Nein, nur mit Browsern, die Lesezeichen verwenden (also Firefox, Mozilla, Netscape, u.A.), beim IE bzw. dem Opera muss man anderes rangehen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!