Jürgen2 10 Geschrieben 20. Oktober 2006 Melden Teilen Geschrieben 20. Oktober 2006 Hallo, möchte im folgenden Registryzweig alle Unterschlüssel mit VBS löschen! HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\UnreadMail Hatte es hiermit versucht: Option Explicit Const HKCU = &H80000001 Const KEYPATH = "Software\Microsoft\Windows\CurrentVersion\UnreadMail" Dim Registry, ValueNames, i Set Registry = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") Registry.EnumValues HKCU, KEYPATH, ValueNames If IsArray(ValueNames) Then For i = 0 To UBound(ValueNames) Registry.DeleteValue HKCU, KEYPATH, ValueNames(i) Next Else End If Hier werden aber nur Werte gelöscht, keine Unterschlüssel! Kennt sich einer aus? Wäre für jede hilfe dankbar! Mfg. Jürgen Zitieren Link zu diesem Kommentar
ZeroKnowledge 11 Geschrieben 20. Oktober 2006 Melden Teilen Geschrieben 20. Oktober 2006 Hab da was bei Google gefunden verwendete Konstanten Const HKEY_CLASSES_ROOT = &H80000000 Const HKEY_CURRENT_USER = &H80000001 Const HKEY_LOCAL_MACHINE = &H80000002 Const HKEY_USERS = &H80000003 Const HKEY_CURRENT_CONFIG = &H80000005 Const HKEY_DYN_DATA = &H80000006 Const COMPUTER = "." Die Funktion Sub DeleteKey(Hive, KeyPath) Dim ValueArray, Value ' Unterschlüssel auflisten objReg.EnumKey Hive, KeyPath, ValueArray If Not IsNull(ValueArray) Then For Each Value In ValueArray ' Rekursion starten DeleteKey Hive, KeyPath + "\" + Value Next End If ' Schlüssel löschen objReg.DeleteKey Hive, KeyPath + "\" + Value End Sub Ein Beispiel Dim KeyPath Dim objReg Set objReg = _ GetObject("winmgmts:\\" &_ COMPUTER & "\root\default:StdRegProv") KeyPath = "Software\WindowsScriptingLernen" DeleteKey HKEY_CURRENT_USER, KeyPath Im Beispiel werden alle Schlüssel unterhalb von "HKEY_CURRENT_USER\Software\WindowsScriptingLernen" gelöscht Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.