ich ein Byte-Array gespeichert folgenden Code in der Registrierung unter VerwendungWie kann ich binäre Daten aus der Registry zu Byte-Array lesen
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);
ist die Taste oben Code erstellt:
[HKEY_CURRENT_USER\Software\Software\Key]
"LOC"=hex:4a,03,00,00,45,02,00,00,b7,00,00,00,9d,00,00,00
Jetzt möchte ich um die gleichen Daten wieder in Byte-Array-Format zu lesen. Der folgende Code kann dieselben Daten lesen, aber die Ausgabe ist vom Typ Objekt.
RegistryKey key = Registry.CurrentUser.OpenSubKey(KeyName);
object obj = key.GetValue(@"Software\Software\Key", value);
Hier Casting zu Byte [] funktioniert nicht. Ich weiß, dass ich Serializer oder Streams verwenden kann, um diese Aufgabe zu erfüllen. Ich würde gerne wissen, ob es eine einfachere Möglichkeit gibt, Daten zurück in den byte [] Typ zu schreiben (Ein Zwei-Liner-Code)?
Bitte beachten Sie this question ist in C++
Cast arbeiten sollte . Welchen Fehler bekommst du? –
Was ist "Value" in Ihrem Fall? Speichern Sie einfach die Instanzvariable "value" als solche und werfen Sie sie zurück. das sollte funktionieren .. – nawfal
@nawfal, Danke für deine Antwort. Es war mein Programmierfehler. Du hast meinen Fehler gefunden. Das Objekt "Wert" und "Wert" waren unterschiedlich. Das war der Grund, warum ich den Fehler "Ungültiger Cast" erhalten habe. Ich habe meine Frage bearbeitet und werde sie für die Zukunft aufbewahren. Danke nochmal – AaA