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 :
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
, 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
Partager