VB 5/6-Tipp 0262: Aktuelle Seitenadresse des Netscapes und des IEs mittels DDE
von Julian Scheel
Beschreibung
Der Netscape hat es schon länger, der IE meines Wissens erst ab der 5er Version, die DDE-Schnittstelle. Hier wird gezeigt wie mittels dieser Technik bei den beiden großen Browser, die aktuell angezeigte Internetadresse ausgelesen werden kann. ES gibt, speziell beim Netscape bestimmt noch eine Fülle von weiteren Befehlen. Tips zu diesem Thema sind immer gerne willkommen.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: keine | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Timersteuerelement "TimerCheckBrowsers" ' Steuerelement: Rahmensteuerelement "Frame2" ' Steuerelement: Schaltfläche "btn_lesenIE" auf Frame2 ' Steuerelement: Textfeld "TxtIETitle" auf Frame2 ' Steuerelement: Textfeld "TxtIEUrl" auf Frame2 ' Steuerelement: Beschriftungsfeld "LabIEWinTitle" auf Frame2 ' Steuerelement: Beschriftungsfeld "LabIEURL" auf Frame2 ' Steuerelement: Rahmensteuerelement "Frame1" ' Steuerelement: Schaltfläche "btn_lesenNetscape" auf Frame1 ' Steuerelement: Textfeld "TxtNSUrl" auf Frame1 ' Steuerelement: Textfeld "TxtNSTitle" auf Frame1 ' Steuerelement: Beschriftungsfeld "LabNSURL" auf Frame1 ' Steuerelement: Beschriftungsfeld "LabNSWinTitle" auf Frame1 ' Steuerelement: Textfeld "TxtDDE" 'Autor: Julian Scheel 'E-Mail: jscheel@activevb.de 'Funktioniert beim IE erst ab Version 5 Option Explicit Sub GetURLFromNetscape(url As String, title As String, _ framename As String) Dim c As Byte Dim thisParm As Integer Dim cc As Long Dim p As Long Dim parms(3) As String Dim quoting As Boolean On Error Goto GUBErrHandler TxtDDE.LinkTopic = "NETSCAPE|WWW_GetWindowInfo" TxtDDE.LinkItem = &HFFFFFFFF TxtDDE.LinkMode = 2 TxtDDE.LinkRequest thisParm = 1 quoting = False For i = 1 To Len(TxtDDE) c = Asc(Mid(TxtDDE, i, 1)) Select Case c Case 34 quoting = Not quoting Case 44 If Not quoting Then thisParm = thisParm + 1 If thisParm > 3 Then Exit For End If Case Else If quoting Then parms(thisParm) = parms(thisParm) & Chr(c) End If End Select Next i url = parms(1) title = parms(2) framename = parms(3) Exit Sub GUBErrHandler: MsgBox "Browser not loaded." On Error Goto 0 End Sub Sub GetURLfromIE(url As String, title As String) Dim c As Byte Dim cc As Long Dim p As Long Dim thisParm As Integer Dim parms(2) As String Dim quoting As Boolean On Error Goto GUBErrHandler TxtDDE.LinkTopic = "iexplore|WWW_GetWindowInfo" TxtDDE.LinkItem = &HFFFFFFFF TxtDDE.LinkMode = 2 TxtDDE.LinkRequest thisParm = 1 quoting = False For i = 1 To Len(TxtDDE) c = Asc(Mid(TxtDDE, i, 1)) Select Case c Case 34 quoting = Not quoting Case 44 If Not quoting Then thisParm = thisParm + 1 If thisParm > 2 Then Exit For End If Case Else If quoting Then parms(thisParm) = parms(thisParm) & Chr(c) End If End Select Next i url = parms(1) title = parms(2) Exit Sub GUBErrHandler: MsgBox "Browser not loaded." On Error Goto 0 End Sub Private Sub btn_lesenIE_Click() Dim TheUrl As String, TheTitle As String Call GetURLfromIE(TheUrl, TheTitle) TxtIETitle.Text = TheTitle TxtIEUrl.Text = TheUrl End Sub Private Sub btn_lesenNetscape_click() Dim TheUrl As String, TheTitle As String, TheFrame As String Call GetURLFromNetscape(TheUrl, TheTitle, TheFrame) TxtNSTitle.Text = TheTitle TxtNSUrl.Text = TheUrl End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 13 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Liesenberg am 07.03.2006 um 08:33
Hallo,
wenn ich den Code in meine Anwendung kopiere erhalte ich den Hinweis das die Variable TxtDDE nicht deklariert ist.
Muss ich noch einen Verweis setzen, oder was habe ich übersehen??
Danke
Kommentar von Tobias am 12.10.2005 um 23:20
funktioniert sogar mit dem Firefox!
cooles Prog :)
Kommentar von Honk am 03.01.2005 um 13:56
Wenn der Internetexplorer nicht offen ist, dann bekomm ich einen Laufzeitfehler den ich dummerweise auch nicht mit "on error resume next" abfangen kann. Wie kann man den Fehler umgehen oder beheben ?
Kommentar von oskar am 25.10.2004 um 14:50
Bei mir stürzt das Programm immer ab. Ich habe win2000, ie6 und vb6- standard. liegt es vielleicht an der vb edition?
Kommentar von Jörg am 03.02.2004 um 08:51
Ich finde den Tip sehr gut,doch kann man mit "Split" viel Quellcode sparen.
Beispiel für IExplore:
Dim parms () as String
parms = Split(TxtDDE,CHR(34))
url = parms(1)
titel = parms(3)
Das heist die ganze For Next Schleife kann wegfallen.
Kommentar von ingo am 30.07.2003 um 14:08
Die DDE-Aufruf muss für Nestacpe ab Version 6 wie flgt geändert werden
Anstatt:
TxtDDE.LinkTopic = "NETSCAPE|WWW_GetWindowInfo"
nun
TxtDDE.LinkTopic = "NETSCAPE6|WWW_GetWindowInfo"
Kommentar von Uli am 27.01.2003 um 04:08
Der Tipp funktioniert bei mir nur mit den älteren Versionen von Netscape (nicht mit Netscape 7) - allerdings mit allen neueren Versionen des IExplorers.
Kommentar von hannes am 04.07.2001 um 13:51
mich würd gern mal interessieren was TxtDDE ist!?
Kommentar von Marcel Karger am 21.05.2001 um 17:18
Das ganze geht auch mit Opera (getestet mit 5.11)!
Einfach "opera|WWW_GetWindowInfo" angeben anstatt iexplore bzw. Netscape!
Kommentar von neumann am 11.03.2001 um 16:07
wie erfahre ich ob es diese email-adresse giebt ??????????
dringend danke
lutz
Kommentar von Armyman am 07.01.2001 um 15:19
Und?
Geht das auch mit Netscape 6?
Kommentar von Julian Scheel am 14.12.2000 um 17:41
erstmal Danke für das Lob! (c;
Aber nun der eigentliche Anlass zu diese Notiz:
Falls jemand weis, ob es auch mit Netscape 6 funzt schickt mir bitte ne mail!
Gruß,
Julian Scheel
ActiveVB
Kommentar von count.negative am 17.11.2000 um 15:09
Bis ich begriffen hab was TxtDDE ist und wie das funktioniert sind einige Minuten ins Land gezogen! Vielleicht könnt ihr dazu noch ein paar Zeilen reinschreiben.
Ansonsten: RESPEKT, das ist ein verdammt guter Tip!