Установить ключ реестра hex7

Я искал функцию для установки ключа реестра с помощью С#.

Очевидно, существует метод Registry.SetValue(KEY, valueName, value, registryValueKind)

[... где valueName - это имя редактируемого значения, KEY - это основное имя ключа, а registerValueKind - тип изменения, которое должно быть сделано]

Если у вас есть более близкий взгляд на registryValueKind-Enum, существует 8 типов:

  • DWord, String, ExpandString, Binary, MultiString, QWord, Unknown и Отсутствуют.

В Msdn-Article описаны различные типы данных:

  • REG_SZ, REG_MULTI_SZ, REG_DWORD, REG_QWORD, REG_BINARY, REG_EXPAND_SZ, REG_HEX.

Мне интересно, как сохранить значение hex (7) [следовательно, значение REG_HEX] с помощью Registry.SetValue().

Далее я задаюсь вопросом, как сохранить такое значение, как hex (7): 56,00,45,00,4e, 00,30,00,00,00,4c, 00,4f, 00,4f, 00,50, 00,42, \ 00,41,00,43,00,4b, 00,00,00,00,00, который в дополнение к типу hex (7) разделен "\".

Спасибо в adavance!

Ответ 1

Нет такой вещи, как "шестнадцатеричное значение", шестнадцатеричное - это просто текстовое представление двоичного значения.

Что вы хотите:

Registry.SetValue(
    "HKEY_CURRENT_USER\\MyKeyName", 
    "MyValue", 
    new byte[] { 0x56, 0x00, 0x45, 0x00, 0x4e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x4f, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x42, 0x00, 0x41, 0x00, 0x43, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00 }, 
    RegistryValueKind.Binary);