Wie kann ich Lesen binärer Daten aus der Registrierung zu byte array

Rettete ich ein byte-array um Registrierung mit dem folgenden code

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);

Hier ist der Schlüssel erstellt, mit obigen code:

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

Nun möchte ich zum Lesen der gleichen Daten zurück in byte-array-format. Folgenden code Lesen kann, den gleichen Daten, aber der Ausgang ist vom Typ object.

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

Hier casting zu byte[] funktioniert nicht. Ich weiß, dass ich verwenden können, serializer oder streams, um diese Aufgabe. Ich würde gerne wissen, ob es eine einfachere Möglichkeit gibt, Daten zu Lesen, wieder zu byte [] - Typ (Eine von zwei liner-code)?

Bitte beachten Sie diese Frage ist in C++

  • Cast funktionieren sollte. Welche Fehler sind Sie immer?
  • Was ist Value in Ihrem Fall? Speichern Sie einfach die Instanz-variable value als solche und warf zurück. das sollte funktionieren..
  • Danke für deine Antwort. Es war meine coding-Fehler. Sie cought mein Fehler. Das Objekt Value und value waren anders. Das war der Grund, ich war immer Invalid Cast Fehler. Ich bearbeitet meine Frage, und ich werde halten Sie es für zukünftige Referenz auf. nochmals vielen Dank
  • Bitte nicht Bearbeiten Sie die Frage. Fügen Sie eine Antwort.
InformationsquelleAutor AaA | 2013-01-17
Schreibe einen Kommentar