Bonjour,
Je cherche à décoder dans le registre des valeurs de type REG_Binary qui correspondent à des dates
(pour info les clés sont du genre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\{1D982609-2A7A-4321-91F2-2ECE4004EE6A}) values « DateCreated » ou « dateLastConnected ».
Avec Regedit je lis par exemple :
DateCreated REG_Binary « dd 07 01 00 06 00 0c 00 2c 00 38 00 »
C’est a priori le 12/01/2013 17 :14 :26
C’est WIndows 8.1 qui écrit ces clés.
Dans Delphi ,
• Avec Tregistry.readDateTime
o ça déclenche une exception. Dans la doc XE : « Si l'entrée de registre ne contient pas de valeur date ou heure », une exception est déclenchée. . Des recherches Google indiquent que Tregidtry.readDateTime ne marcherait que si la valeur du registre été écrite avec Tregistry.WriteDateTime.
• Avec Tregidtry.readBinary
o je récupère bien « Dd 07 01 00 06 00 0c 00 2c 00 38 00 », mais a partir de la je ne sais pas convertir en Tdatetime ou une string de date lisible.
PS : je ne pense pas que ce soit un problème de droits : pour ouvrir la clé je lance l’exécutable en mode administrateur et je vérifie que la clé est bien ouverte. Par ailleurs, dans la clé je récupère sans problème les valeurs Reg_SZ par exemple « Description » ou « ProfileName »
Comment décoder, quel est le format utilisé par Windows ?
Partager