cs_wape
Messages postés262Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention19 décembre 201012 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