Вне этого недоумение ...
Самая простая строка кода работает иногда, иногда нет.Сначала я подумал, что проблема в том, что я пытался прочитать значение DWORD, но, поскольку я МОГУ читать значения DWORD из НЕКОТОРЫХ ключей, это не должно быть проблемой.Теперь проблема в том, что я не могу прочитать с ЛЮБОГО ключа, если ключ имеет пробел в имени.Конечно, этого не может быть.Я отказываюсь верить, что MS не учитывает пробелы в путях и именах ключей реестра.
Так скажите мне, почему это не работает:
MsgBox(My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\CA\CA ARCserve D2D\WebService", "Port", Nothing))
Это просто выскакивает пустоекоробка.И да, значение существует в реестре, и да, у меня есть разрешение на чтение ключа.
РЕДАКТИРОВАТЬ: Да, снова и снова кажется, что вы не можете читать из реестра, если естьпробелы в любом месте имени ключа.Серьезно?!?
ИЗМЕНИТЬ СНОВА: "Ramhound" говорит, что примеры кода глупы.Увлекательная точка зрения.Однако его собственное предложение также провалилось:
Dim key As RegistryKey = Registry.LocalMachine.OpenSubKey ("ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ ATI Technologies \ CBT")
Dim objValue As Object
objValue= key.GetValue ("ReleaseVersion")
MsgBox (objValue.ToString ())