Rubrik: HTML/Internet/Netzwerk · Internet / Browser / IE | VB-Versionen: VB4, VB5, VB6 | 02.06.01 |
URL des aktiven Browser-Fensters auslesen Ermitteln der URL und des Titels der aktuell im Browser angezeigten WWW-Seite (IE und Netscape) | ||
Autor: Dieter Otter | Bewertung: | Views: 26.232 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Um die URL-Adresse und/oder den Titel der im Browser geöffneten WWW-Seite zu ermitteln, hilft uns die DDE-Fähigkeit der Browser. Unterstützt werden der IE ab Version 5.x und Netscape ab 4.x. Alles, was man dazu benötigt, ist eine unsichtbare TextBox und nachfolgende Routinen.
' Ermittelt die URL und den Titel (IE ab 5.x) Private Sub GetURLInfoIE(URL As String, Titel As String) Dim bInfo() As String On Local Error GoTo IE_Fehler With Text1 .LinkTopic = "iexplore|WWW_GetWindowInfo" .LinkItem = &HFFFFFFFF .LinkMode = 2 .LinkRequest bInfo = Split(.Text, ",") URL = bInfo(0) Titel = bInfo(1) End With Exit Sub IE_Fehler: ' Evtl. ist der Browser gar nicht gestartet ... End Sub
Und hier die Routine für den Netscape-Browser:
' Ermittelt die URL und den Titel (Netscape) Private Sub GetURLInfoNS(URL As String, Titel As String) Dim bInfo() As String On Local Error GoTo NS_Fehler With Text1 .LinkTopic = "NETSCAPE|WWW_GetWindowInfo" .LinkItem = &HFFFFFFFF .LinkMode = 2 .LinkRequest bInfo = Split(.Text, ",") URL = bInfo(0) Titel = bInfo(1) End With Exit Sub NS_Fehler: ' Evtl. ist der Browser gar nicht gestartet ... End Sub
Um nun zu erfahren, welcher der beiden Browser geöffnet ist, hilft der Tipp Standard-Browser ermitteln
Und so sieht dann die vollständige Abfrage aus:
Dim browserName As String Dim URL As String Dim Titel As String ' Standard-Browser in Erfahrung bringen StandardBrowser browserName If browserName = "Microsoft Internet Explorer" Then GetURLInfoIE URL, Titel ElseIf browserName = "Netscape Communicator" Then GetURLInfoNS URL, Titel End If If URL <> "" Then ' Ggf. Anführungszeichen entfernen URL = Replace(URL, Chr$(34), "") Titel = Replace(Titel, Chr$(34), "") MsgBox "URL des aktiven Browserfensters: " & URL & _ vbCrLf & "Titel: " & Titel, 64 Else MsgBox "Fehler!" & vbCrLf & _ "Evtl. ist kein Browser-Fenster geöffnet." & _ "oder Sie verwenden weder den IE noch den NS!", 16 End If