Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByRef lpData As Any, ByRef lpcbData As Long) As Long Private Const KEY_QUERY_VALUE As Long = &H1 Private Const STANDARD_RIGHTS_READ = &H20000 Private Const KEY_ENUMERATE_SUB_KEYS = &H8& Private Const KEY_NOTIFY = &H10& Private Const SYNCHRONIZE = &H100000 Private Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE)) Private Const HKEY_CURRENT_USER = &H80000001 Private Const REG_SZ = 1 Private Const REG_DWORD = 4 Private Property Get RegKeyValue(ByVal veRootKey As Long, ByRef vsKeyName As String, ByRef vsValueName As String) As Variant Dim hKey As Long Dim sBuffer As String Dim nBuffer As Long Dim nLength As Long Dim eValueType As Long If 0 = RegOpenKeyEx(veRootKey, vsKeyName, 0&, KEY_READ, hKey) Then RegQueryValueEx hKey, vsValueName, 0, eValueType, ByVal 0&, nLength Select Case eValueType Case REG_SZ sBuffer = Space$(nLength) RegQueryValueEx hKey, vsValueName, 0, eValueType, ByVal sBuffer, nLength RegKeyValue = Left$(sBuffer, nLength - 1) Case REG_DWORD RegQueryValueEx hKey, vsValueName, 0, eValueType, nBuffer, 4 RegKeyValue = nBuffer End Select RegCloseKey hKey End If End Property
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.