Метод OpenSubKey
не выдает исключение, если указанный подраздел не найден.Вместо этого он просто возвращает null
.Как программист, вы обязаны убедиться, что соответствующий ключ был найден и открыт, проверив возвращаемое значение вызова метода.
Таким образом, я подозреваю, что указанный вами ключ реестра недействителен.Откройте редактор реестра (regedt32.exe
) и убедитесь, что вы можете найти ключ в реестре точно так, как написано .
Если вы обнаружите, что ключ реестра действительно находится именно там, где выКак и предполагалось, проблема может быть связана с подсистемой WOW64, которая позволяет 64-разрядным версиям Windows запускать 64-разрядные приложения.Если значение было записано в реестр 32-разрядной программой, вы не сможете прочитать его с помощью приведенного выше кода из 64-разрядной программы (или наоборот).Самый простой способ проверить это - изменить настройки компиляции для вашего проекта.Например, если вы сейчас компилируете для x86, то перейдите на компиляцию для x64 или наоборот. Перенаправление реестра также может мешать вам;это также проверит.