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-variablevalue
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
undvalue
waren anders. Das war der Grund, ich war immerInvalid 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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schreiben, die ein byte-array zur Registrierung verwenden Sie folgenden code,
Abrufen der Daten von der registry in Byte [] - format sind folgende:
Hinweis:
CurrentUser
ist der name der root für Ihre Schlüssel-Position und Punkte zuHKEY_CURRENT_USER
Ich Teste in VB.NET:
und es funktioniert
so, in C# sein soll:
Convert.ToByte
gibt einesingle byte