Преобразование различных типов значений реестра в строку? - PullRequest
0 голосов
/ 01 июня 2010

я прохожу через реестр, беру значения ключей и сохраняю их в виде строк. Я обнаружил, что есть много разных типов. Некоторые из этих типов вызывают сбой моего средства записи файлового потока. Можно ли преобразовать все нижеприведенное в строковую форму. Фактическое значение данных не важно, просто способность различать разные значения.

  • DWORD
  • ExpandString
  • Двоичный (это так же, как байт []?)
  • MultiString

-

if (String.Compare(SubKey.GetValueKind(v[i]).ToString(), "String") == 0)
{
    String s = SubKey.GetValue(v[i]).ToString();

    RegistryKeyDataValue rkdv = new RegistryKeyDataValue(s); 
    rkdv.incrementNumberOfTimesUsed();
    rkdv.setTypeOfData("S");

    r.addDataValue(rkdv);
    r.setCurrentDataValue(s);

    String hash = "";
    h.setHashData(hash); 

    hash = h.HashString(s);
}

У меня проблемы позже, потому что я хочу записать значения в файл, и мне нужно преобразовать все различные типы в строку.

Ответы [ 2 ]

1 голос
/ 01 июня 2010

Уже существует достойный стандарт для записи значений реестра в виде строк в файл. В Regedit.exe используйте File + Export после выбора ключа, чтобы увидеть, как это выглядит. Документация доступна в этой статье KB .

0 голосов
/ 01 июня 2010

Вы должны взглянуть на описание Registry.GetValue () . В этом примере все эти типы преобразуются в строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...