Läßt sich mit LotusScript die Registry auslesen?
Registry abfragen/auslesen?
- Mykoleus
- Erledigt
-
-
-
Per Win-API geht es so:
zulässige Werte für hkey:
HKEY_CLASSES_ROOT|-2147483648
HKEY_CURRENT_USER|-2147483647
HKEY_LOCAL_MACHINE|-2147483646
HKEY_USERS|-2147483645
HKEY_CURRENT_CONFIG|-2147483643ukey ... Unterschlüssel
skey ... EintragCode
Alles anzeigenConst REG_SZ = 1 ' Unicode nul terminated string Const REG_BINARY = 3 Const HKEY_LOCAL_MACHINE = &H80000002 ' Einstellungen des aktuellen Anwenders z.B. Anwender- und Desktop-Einstellungen (Farb-/Soundkonfiguration Hardware-Konfiguration, Netzwerkprotokolle, Software-Klassen Const HKEY_CLASSES_ROOT = &H80000000 ' Teil von HKEY_LOCALE_MACHINE enthält Definitionen für Dokumenttypen, Dateizuordnungen und Shell-Schnittstelle Const HKEY_USERS = &H80000003 Const HKEY_CURRENT_USER = &H80000001 ' Einstellungen des aktuellen Anwenders Const HKEY_PERFORMANCE_DATA = &H80000004 ' (Win NT/2000) Performance Dataschlüssel Const HKEY_DYN_DATA = &H80000006 ' (Win 95/98) Dynamisch Daten Const HKEY_CURRENT_CONFIG = &H80000005 ' Aktuelle Konfiguration Declare Function RegCloseKey Lib "advapi32.dll" (Byval hKey As Long) As Long Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (Byval hKey As Long, Byval lpSubKey As String, phkResult As Long) As Long 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 Dim Ret As Long Sub Click(Source As Button) Ret_txt = GetString(hkey, ukey, sKey) If Ret_txt = "" Then Msgbox "Eintrag nicht gefunden!",, "Registry" Exit Sub Else Msgbox Ret_txt,,"Rückgabewert" End If End Sub Function RegQueryStringValue(Byval hKey As Long, Byval strValueName As String) As String Dim lResult As Long, lValueType As Long, strBuf As String, lDataBufSize As Long 'liefert Informationen zum Schlüssel lResult = RegQueryValueEx(hKey, strValueName, 0, lValueType, Byval 0, lDataBufSize) If lResult = 0 Then If lValueType = REG_SZ Then 'Buffer erstellen strBuf = String(lDataBufSize, Chr$(0)) 'liefert den Wert der Schlüssels lResult = RegQueryValueEx(hKey, strValueName, 0, 0, Byval strBuf, lDataBufSize) If lResult = 0 Then 'chr$(0) entfernen RegQueryStringValue = Left$(strBuf, Instr(1, strBuf, Chr$(0)) - 1) End If Elseif lValueType = REG_BINARY Then Dim strData As Integer 'liefert den Wert des Schlüssels lResult = RegQueryValueEx(hKey, strValueName, 0, 0, strData, lDataBufSize) If lResult = 0 Then RegQueryStringValue = strData End If End If End If End Function Function GetString(hKey As Long, strPath As String, strValue As String) RegOpenKey hKey, strPath, Ret GetString = RegQueryStringValue(Ret, strValue) RegCloseKey Ret End Function
Gruß
Dirk