Das Vorgehen des Tipps Folgende Möglichkeit macht keine Schwierigkeiten:
' Enum der Wert-Typen (erweiterbar) Public Enum eREG_TYP iREG_SZ = 1 iREG_BINARY = 2 iREG_DWORD = 3 End Enum ' Enum der Registry-Zweige Public Enum eREG_KEY iHKEY_CURRENT_USER = 1 iHKEY_LOCAL_MACHINE = 2 iHKEY_CLASSES_ROOT = 3 iHKEY_USERS = 4 iHKEY_CURRENT_CONFIG = 5 End Enum Wert in die Registry schreiben ' Prozedur zum Schreiben von Werten in die Registry ' bei nicht vorhandenen Schlüsselnm werden diese ' automatisch angelegt Public Sub gRegistry_Write(iREG_KEY As eREG_KEY, _ ByVal sKey As String, _ ByVal sEntry As String, _ ByVal varValue As Variant, _ Optional ByVal iREG_TYP As eREG_TYP = iREG_SZ) Dim oWshShell As New WshShell Dim sREG_TYP As String Dim sREG_KEY As String sREG_TYP = pTypToString(iREG_TYP) sREG_KEY = pKeyToString(iREG_KEY) ' Der Methode "RegWrite" werden nun der gewünschte ' Schlüssel, der Wert und optional der Typ des ' Wertes übergeben ... schon fertig :-) oWshShell.RegWrite sREG_KEY & sKey & "\" & sEntry, _ varValue, sREG_TYP End Sub Wert aus Registry lesen ' Prozedur zum Lesen von Werten aus der Registry Public Function gRegistry_Read(iREG_KEY As eREG_KEY, _ ByVal sKey As String, _ ByVal sEntry As String) As Variant Dim oWshShell As New WshShell Dim sREG_KEY As String sREG_KEY = pKeyToString(iREG_KEY) ' Fehlerbehandlung aktivieren (falls Schlüssel ' / Eintrag nicht existsiert) On Local Error Resume Next ' Der Methode "RegRead" wird nun der gewünschte ' Schlüssel übergeben ... schon fertig :-) gRegistry_Read = oWshShell.RegRead(sREG_KEY & sKey & _ "\" & sEntry) ' Fehlerbehandlung wieder ausschalten On Local Error GoTo 0 End Function Wert aus Registry löschen ' Prozedur zum Löschen von Werten aus der Registry Public Sub gRegistry_Delete(iREG_KEY As eREG_KEY, _ ByVal sKey As String, _ ByVal sEntry As String) Dim oWshShell As New WshShell Dim sREG_KEY As String sREG_KEY = pKeyToString(iREG_KEY) ' Fehlerbehandlung aktivieren (falls Schlüssel ' / Eintrag nicht existsiert) On Local Error Resume Next ' Der Methode "RegDelete" wird nun der gewünschte ' Schlüssel übergeben ... schon fertig :-) oWshShell.RegDelete sREG_KEY & sKey & "\" & sEntry ' Fehlerbehandlung wieder ausschalten On Local Error GoTo 0 End Sub Hilfsfunktionen ' Umsetzten des übergebenen Reg.-Zweiges in den ' benötigten String Private Function pKeyToString( _ ByVal iREG_KEY As eREG_KEY) As String Dim sREG_KEY As String Select Case iREG_KEY Case iHKEY_CURRENT_USER sREG_KEY = "HKEY_CURRENT_USER\" Case iHKEY_LOCAL_MACHINE sREG_KEY = "HKEY_LOCAL_MACHINE\" Case iHKEY_CLASSES_ROOT sREG_KEY = "HKEY_CLASSES_ROOT\" Case iHKEY_USERS sREG_KEY = "HKEY_USERS\" Case iHKEY_CURRENT_CONFIG sREG_KEY = "HKEY_CURRENT_CONFIG\" End Select pKeyToString = sREG_KEY End Function ' Umsetzten des übergebenen Typs in den benötigten String Private Function pTypToString( _ ByVal iREG_TYP As eREG_TYP) As String Dim sREG_TYP As String Select Case iREG_TYP Case iREG_SZ sREG_TYP = "REG_SZ" Case iREG_BINARY sREG_TYP = "REG_BINARY" Case iREG_DWORD sREG_TYP = "REG_DWORD" End Select pTypToString = sREG_TYP End Function Anwendungsbeispiel ' Wert schreiben gRegistry_Write iHKEY_CURRENT_USER, _ "Software\MyApplication", "RegWert", "Test", iREG_SZ ' Wert auslesen MsgBox gRegistry_Read(iHKEY_CURRENT_USER, _ "Software\MyApplication", "RegWert") ' Wert löschen gRegistry_Delete iHKEY_CURRENT_USER, _ "Software\MyApplication", "RegWert" Dieser Tipp wurde bereits 19.257 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 ![]() ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats ![]() Dennis Hemken Computer der gegenwärtigen Domäne auslesen Alle Namen der Computer der gegenwärtigen Domäne (LDAP) auslesen Neu! sevCommand 4.0 ![]() Professionelle Schaltflächen im modernen Design! Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |