Comment puis-je lire des données binaires à partir du registre de tableau d'octets

J'ai sauvé un tableau d'octets à la base de registre avec le code suivant

Byte[] value = new byte[16]{
    0x4a,0x03,0x00,0x00, 
    0x45,0x02,0x00,0x00, 
    0xb7,0x00,0x00,0x00, 
    0x9d,0x00,0x00,0x00
};

RegistryKey key = Registry.CurrentUser.CreateSubKey(KeyName);
key.SetValue(@"Software\Software\Key", value, RegistryValueKind.Binary);

Ici est la clé créée à l'aide de code ci-dessus:

[HKEY_CURRENT_USER\Software\Software\Key]  
    "LOC"=hex:4a,03,00,00,45,02,00,00,b7,00,00,00,9d,00,00,00

Maintenant, j'ai envie de lire les mêmes données au tableau d'octets format. Code suivant peut lire les mêmes données, mais la sortie est de type object.

RegistryKey key = Registry.CurrentUser.OpenSubKey(KeyName);
object obj =  key.GetValue(@"Software\Software\Key", value);

Ici un casting pour byte[] ne fonctionne pas. Je sais que je peux utiliser sérialiseur ou des cours d'eau pour réaliser cette tâche. Je voudrais savoir si il existe un moyen plus facile de lire les données de byte[] type (deux liner code)?

Veuillez noter cette question est en C++

  • Cast devrait fonctionner. Quelle erreur avez-vous?
  • Qu'est-ce que Value dans votre cas? Il suffit d'enregistrer la variable d'instance value en tant que tel et jeté en arrière. cela devrait fonctionner..
  • Merci pour votre réponse. C'était mon erreur de codage. vous cought mon erreur. L'objet Value et value étaient différents. C'était la raison pour laquelle je recevais Invalid Cast erreur. J'ai édité ma question et je vais le conserver pour référence future. merci encore
  • Merci de ne pas modifier la question. Ajouter une réponse.
InformationsquelleAutor AaA | 2013-01-17