اود أن أعرف كيفية حذف مفتاح من الرجيستري به مجموعة من المفاتيح في XP
سؤال حول كيفية حذف مفتاح من الرجيستري به مجموعة من المفاتيح في Xp
Private Enum hKey HKEY_CLASSES_ROOT = &H80000000 HKEY_CURRENT_USER = &H80000001 HKEY_LOCAL_MACHINE = &H80000002 HKEY_USERS = &H80000003 HKEY_CURRENT_CONFIG = &H80000005 End Enum Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Private Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, ByVal cbName As Long) As Long Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long Private Sub DelKey(hKey As hKey, sKey As String) Dim lResult As Long Dim lKeyValue As Long Dim lValueLength As Long Dim sValue As String On Error Resume Next lResult = RegOpenKey(hKey, sKey, lKeyValue) sValue = Space$(2048) lValueLength = Len(sValue) lResult = RegEnumKey(lKeyValue, 0, sValue, lValueLength) If (lResult = 0) And (Err.Number = 0) Then Do If InStr(1, sValue, Chr(0)) Then sValue = VBA.Left(sValue, InStr(1, sValue, Chr(0)) - 1) End If Call DelKey(hKey, sKey & "\" & sValue) sValue = Space$(2048) lValueLength = Len(sValue) Loop While RegEnumKey(lKeyValue, 0, sValue, lValueLength) = 0 lResult = RegCloseKey(lKeyValue) Call RegDeleteKey(hKey, sKey) Else lResult = RegCloseKey(lKeyValue) Call RegDeleteKey(hKey, sKey) End If End Sub
Call DelKey(HKEY_CURRENT_USER, "MYParent")
تم تعديل هذه المشاركة بواسطة mrx_ta7ady في 25 يناير 2009 في 14:36
اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي
فليقبل الجميع تقديري واحترامي .. ولكم تحياتي
شكرا على الكود ، تم تجريبه وأثبت فعاليته شكرا مرة أخرى