Uratowałem tablicy bajtów do rejestru używając następującego koduJak można odczytać dane binarne z rejestru do tablicy bajtów
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);
Oto klucz tworzony przy użyciu powyżej kodu:
[HKEY_CURRENT_USER\Software\Software\Key]
"LOC"=hex:4a,03,00,00,45,02,00,00,b7,00,00,00,9d,00,00,00
teraz chcę aby odczytać te same dane z powrotem do formatu tablicy bajtowej. Poniższy kod może odczytać te same dane, ale wyjście jest typu obiektu.
RegistryKey key = Registry.CurrentUser.OpenSubKey(KeyName);
object obj = key.GetValue(@"Software\Software\Key", value);
Tutaj rzutowanie na bajt [] nie działa. Wiem, że mogę użyć serializera lub strumieni, aby osiągnąć to zadanie. Chciałbym wiedzieć, czy istnieje łatwiejszy sposób odczytywania danych z powrotem do typu bajtowego [] (kod A dwu liniowy)?
Uwaga this question jest w C++
Obsada powinna działać . Jaki błąd dostałeś? –
Co to jest "Wartość" w twoim przypadku? Po prostu zapisz zmienną instancji 'value' jako taką i odrzuć ją. to powinno zadziałać. – nawfal
@nawfal, Dzięki za odpowiedź. To był mój błąd w kodowaniu. skrytykowałeś mój błąd. Obiekt 'Wartość' i' wartość' były różne. Z tego powodu otrzymuję komunikat o błędzie "Nieprawidłowe przesyłanie". Zmieniłem moje pytanie i zamierzam je zachować na przyszłość. Jeszcze raz dziękuję – AaA