Rubrik: HTML/Internet/Netzwerk · Internet / Browser / IE | VB-Versionen: VB4, VB5, VB6 | 18.02.03 |
Installationspfad des IE ermitteln Durch Auslesen des entsprechenden Registry-Eintrags lässt sich das Installationsverzeichnis des IE schnell ermitteln. | ||
Autor: Dieter Otter | Bewertung: | Views: 17.953 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Möchten Sie wissen, ob und wenn in welchem Ordner der Microsoft Internet Explorer installiert wurde?
Meistens handelt es sich hierbei um den Ordner \Programme\Internet Explorer, d.h. man bräuchte jetzt lediglich zu prüfen, ob sich in diesem Ordner die Datei IEXPLORE.EXE befindet.
Will man aber auf Nummer sicher gehen, sollte man den Installationspfad aus der Windows Registrierdatenbank auslesen!
Und das geht so:
Option Explicit ' Benötigte API-Deklarationen Private Declare Function RegOpenKeyEx Lib "advapi32.dll" _ Alias "RegOpenKeyExA" ( _ ByVal hKey As Long, _ ByVal lpSubKey As String, _ ByVal ulOptions As Long, _ ByVal samDesired As Long, _ phkResult 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, _ ByVal lpData As String, _ lpcbData As Long) As Long Private Declare Function RegCloseKey Lib "advapi32.dll" ( _ ByVal hKey As Long) As Long ' Konstanten Private Const HKEY_LOCAL_MACHINE = &H80000002 Private Const KEY_QUERY_VALUE = &H1 Private Const REG_SZ = 1 Private Const ERROR_SUCCESS = 0&
' Ermitteln des Installationsverzeichnisses ' des Internet Explorers Public Function IE_InstallPath() As String Dim sBuffer As String Dim lhKeyOpen As Long Dim nResult As Long Dim sKey As String ' Key, in dem der Pfad gespeichert ist sKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE" ' Puffer für den Installationspfad sBuffer = Space$(255) ' Registrier-Zweig öffnen If RegOpenKeyEx(HKEY_LOCAL_MACHINE, sKey, 0, _ KEY_QUERY_VALUE, lhKeyOpen) = ERROR_SUCCESS Then ' Eintrag "Path" lesen If RegQueryValueEx(lhKeyOpen, "Path", 0, REG_SZ, sBuffer, 255) = 0 Then ' Installationspfad If InStr(sBuffer, Chr$(0)) > 0 Then _ sBuffer = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1) If Right$(sBuffer, 1) = ";" Then _ sBuffer = Left$(sBuffer, Len(sBuffer) - 1) IE_InstallPath = RTrim$(sBuffer) End If RegCloseKey (lhKeyOpen) End If End Function
Aufrufbeispiel:
Dim sIEPath As String sIEPath = IE_InstallPath() If sIEPath <> "" Then MsgBox "Installationsordner: " & sIEPath Else MsgBox "IE ist scheinbar nicht vorhanden!" End If