Доступ к Registry.LocalMachine в 64-битной ОС - PullRequest
0 голосов
/ 16 июня 2011

У меня есть некоторый код ниже, который обращается к реестру. Приложение построено для x86, но при запуске на 64-битной ОС оно не находит раздел реестра. Я думал, что если он будет скомпилирован для x86, все будет в порядке, и я не буду пытаться искать в узле Wow6432Node.

Я что-то не так делаю или просто на 64-битной ОС ключи реестра должны находиться под узлом Wow6432Node?

RegistryKey OurKey = Registry.LocalMachine;
OurKey = OurKey.OpenSubKey(@"SOFTWARE\Inspectron\ImageChecker");

Ответы [ 3 ]

1 голос
/ 16 июня 2011

это просто, что на 64-битной ОС разделы реестра должны находиться под узлом Wow6432Node?

Да .. Все верно. 64-битная ОС (Windows) хранит 32-битные ключи приложений только внутри Wow6432Node.

Следовательно, вы должны искать свой ключ в кусте реестра Wow6432node.

0 голосов
/ 16 июня 2011

Ram подтвердил, что ключи в реестре должны быть в узле Wow6432, и я обнаружил, что компиляция в формате x86 и использование кода, который я уже имел в виду, что он будет искать в ключе Wow6432node.

0 голосов
/ 16 июня 2011

В «Выполнить» дать «regedit» String вы получите список реестра

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