Rubrik: HTML/Internet/Netzwerk · Internet / Browser / IE | VB-Versionen: VB6 | 15.09.11 |
Standardbrowser ermitteln II Diese Funktion ermittelt den im System festgelegten Standard-Browser und gibt den vollständigen Dateinamen und Pfad zurück. | ||
Autor: Ralf Wohlfart | Bewertung: | Views: 8.903 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Nachfolgende Funktion ermittelt den im System festgelegten Standardbrowser durch Auslesen der Windows-Registrierdatenbank und gibt den vollständigen Pfad inkl. Dateinamen zurück.
Option Explicit ' benötigte API-Deklarationen Private Declare Function RegOpenKey Lib "advapi32.dll" _ Alias "RegOpenKeyA" ( _ ByVal hKey As Long, _ ByVal lpSubKey As String, _ phkResult As Long) As Long Private Declare Function RegCloseKey Lib "advapi32.dll" ( _ ByVal hKey As Long) As Long Private Declare Function RegQueryValueEx Lib "advapi32.dll" _ Alias "RegQueryValueExA" ( _ ByVal hKey As Long, _ ByVal lpValueName As String, _ ByVal lpReserved As Long, _ lpType As Long, _ lpData As Any, _ lpcbData As Long) As Long Private Const HKEY_CLASSES_ROOT = &H80000000 Private Const REG_SZ = 1
' Ermittelt den Pfad und Dateinamen des Standard Browsers Private Function GetDefaultBrowser() As String Dim sPath As String Dim sKey As String Dim sBuffer As String Dim hKey As Long Dim lResult As Long Dim nSize As Long sPath = "HTTP\shell\open\command" If RegOpenKey(HKEY_CLASSES_ROOT, sPath, hKey) = 0 Then ' Größe des Wertes ermitteln lResult = RegQueryValueEx(hKey, sKey, 0, REG_SZ, ByVal 0, nSize) If lResult = 0 Then ' Wert auslesen sBuffer = String(nSize, Chr$(0)) If RegQueryValueEx(hKey, sKey, 0, 0, ByVal sBuffer, nSize) = 0 Then ' Anführungszeichen entfernen sBuffer = Replace(sBuffer, """", "") ' Parameter entfernen... sBuffer = (Left(sBuffer, (InStr(1, sBuffer, ".exe", vbTextCompare) + 4))) GetDefaultBrowser = Trim(Left$(sBuffer, nSize - 1)) End If End If End If RegCloseKey hKey End Function
Aufrufbeispiel:
Dim BrowserPath As String BrowserPath = GetDefaultBrowser()