[VB6] Pb lecture d'une valeur de type DWORD dans la base de registre

Pb lecture d'une valeur de type DWORD dans la base de registre [VB6] - Programmation

Marsh Posté le 10-05-2001 à 09:33:45    

je dois lire un ensemble de clé dans la base de registre
J'arrive parfaitement à récuperer les données des clés de type Chaine ou Binaryn
mais impossible de lire la valeur d'une clé de type DWORD, ca me retourne tjs 0 (quelque soit la valeur)
 
Je lis à partir des APIs RegQueryValueEx ..., mais ca marche pas pour les DWORD
 
Help!


---------------
Galerie Photo (Canon)
Reply

Marsh Posté le 10-05-2001 à 09:33:45   

Reply

Marsh Posté le 10-05-2001 à 11:07:20    

personne n'a jamais utilisé la BdR???


---------------
Galerie Photo (Canon)
Reply

Marsh Posté le 10-05-2001 à 11:24:53    

Voici une fonction récuppérée a l'époque chez Microsoft...
 

Code :
  1. Public Function GetKeyValue( _
  2.                               KeyRoot As Long, _
  3.                               KeyName As String, _
  4.                               SubKeyRef As String, _
  5.                               ByRef KeyVal As String _
  6.                               ) As Boolean
  7. Dim i As Long
  8. Dim rc As Long
  9. Dim hKey As Long
  10. Dim hDepth As Long
  11. Dim KeyValType As Long
  12. Dim tmpVal As String
  13. Dim KeyValSize As Long
  14. rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey)
  15. If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError
  16.    tmpVal = String$(1024, 0)
  17.    KeyValSize = 1024
  18.    rc = RegQueryValueEx(hKey, SubKeyRef, 0, KeyValType, tmpVal, KeyValSize)
  19.    If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError
  20.    If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then
  21.       tmpVal = Left(tmpVal, KeyValSize - 1)
  22.    Else
  23.       tmpVal = Left(tmpVal, KeyValSize)
  24.    End If
  25.    Select Case KeyValType
  26.       Case REG_SZ
  27.          KeyVal = tmpVal
  28.       Case rEG_DWORD
  29.          For i = Len(tmpVal) To 1 Step - 1
  30.             KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1)))
  31.          Next
  32.          KeyVal = Format$("&h" + KeyVal)
  33.    End Select
  34.    GetKeyValue = True
  35.    rc = RegCloseKey(hKey)
  36.    Exit Function
  37. GetKeyError:
  38.    KeyVal = ""
  39.    GetKeyValue = False
  40.    rc = RegCloseKey(hKey)
  41. End Function

Reply

Marsh Posté le 10-05-2001 à 13:03:27    

k merci,
 
entre temps j'en ai trouvé une nickel
 
a+


---------------
Galerie Photo (Canon)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed