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'instancevalue
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
etvalue
étaient différents. C'était la raison pour laquelle je recevaisInvalid 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.
Vous devez vous connecter pour publier un commentaire.
À écrire un tableau d'octets de registre, utilisez le code suivant
Pour Récupérer les données à partir du registre en Byte[] format suivant:
Remarque:
CurrentUser
est le nom de la racine de votre Clé à l'emplacement et les points àHKEY_CURRENT_USER
Je test dans VB.NET:
et il fonctionne
donc en C# doit être:
Convert.ToByte
renvoie unesingle byte