Lister les valeurs chaines d'une Clé

Megawatt2000 Messages postés 28 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 2 février 2006 - 17 déc. 2002 à 22:33
cs_wape Messages postés 262 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 19 décembre 2010 - 28 déc. 2002 à 19:34
je souhaiterais lister dans une LISTBOX les valeurs d'une clé de la base de registre (pas les noms, juste les valeurs)

Pour etre plus clair, je souhaiterais ajouter ou supprimer des fichiers autorisés au lancement (la Clé RestrictRun)

1 réponse

cs_wape Messages postés 262 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 19 décembre 2010 12
28 déc. 2002 à 19:34
Const ERROR_NO_MORE_ITEMS = 259&
Const HKEY_CURRENT_USER = &H80000001
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
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 RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long

Private Sub Command1_Click()

Dim hKey As Long, cnt As Long, sName As String, sData As String, Ret As Long, RetData As Long
Const BUFFER_SIZE As Long = 255
cnt = 0

'Vider la listbox
Me.List1.Clear

'Ouvrir la clé de registre
If RegOpenKey(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun", hKey) = 0 Then
'Initialiser
sName = Space(BUFFER_SIZE)
sData = Space(BUFFER_SIZE)
Ret = BUFFER_SIZE
RetData = BUFFER_SIZE
'Rechercher les valeurs
While RegEnumValue(hKey, cnt, sName, Ret, 0, ByVal 0&, ByVal sData, RetData) <> ERROR_NO_MORE_ITEMS
'Charger la list box
If RetData > 0 Then
Me.List1.AddItem (Left$(sData, RetData - 1))
End If
'Préparer la recherche suivante
cnt = cnt + 1
sName = Space(BUFFER_SIZE)
sData = Space(BUFFER_SIZE)
Ret = BUFFER_SIZE
RetData = BUFFER_SIZE
Wend
'Fermer la clé de registre
RegCloseKey hKey
Else
MsgBox "La clé de registre RestrictRun n'existe pas !", vbCritical
End If

End Sub

Slts

wape
0
Rejoignez-nous