Das Vorgehen des Tipps Registry im Griff bringt scheinbar einige Probleme beim Speichern eines DWORD-Wertes. 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 18.632 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (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. |
Neu! sevCoolbar 3.0 Professionelle Toolbars im modernen Design! Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |