lecture d'une clé de registre type Reg_Binary
Bonjour,
J'ai un souci, je n'arrive pas à récupérer la valeur d'une clé de registre de type Reg_binary afin de la convertir en string, mon code est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
' ************ test 1 : lecture sous-clé dans HKEY_LOCAL_MACHINE ********************
hDefKey = HKEY_LOCAL_MACHINE
strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey"
strValueName = "DigitalProductId"
' ************ test 2 : lecture sous-clé dans HKEY_CURRENT_USER ********************
hDefKey = HKEY_CURRENT_USER
'strKeyPath = "\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676\00000003"
'strValueName = "Account Name"
strComputer = "."
Set oReg =GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
oReg.GetBinaryValue hDefKey, strKeyPath, strValueName, arrBytes
strBytes = ""
For Each uByte in arrBytes
strBytes = strBytes & Hex(uByte) & " "
Next
wscript.echo " " & strValueName & " (REG_BINARY) = " & strBytes |
Si je récupère la valeur de la sous-clé DigitalProductId dans le tableau arrBytes via la méthode GetBinaryValue sur la clé : HKEY_LOCAL_MACHINE
, je n'ai pas de souci, j'obtiens bien une valeur en Hexa qui s'affiche du type : A4 0 0 0 3 0 0 0 35 35 30 33....
Maintenant, lorsque je souhaite récupérer la valeur d'une sous-clé en binaire à partir HKEY_CURRENT_USER, (voir valeurs transmises dans Test 2) j'obtiens systématiquement un message d'erreur du type :
erreur :" Cet objet n'est pas une collection"
code : 800A01C3
Sur l’exécution de la ligne 24 (boucle For) et j'avoue être bloqué
Merci pour votre aide
PS: j'ai testé sur d'autres valeurs binaire de sous-clé de HKEY_LOCAL_MACHINE, j'obtiens bien un résultat et les mêmes erreurs sur HKEY_CURRENT_USER