Не могу открыть ключ реестра (используя CURRENT_UESR)C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Не могу открыть ключ реестра (используя CURRENT_UESR)

Сообщение Anonymous »

Я разрабатываю функцию WBF с использованием C++, и мне нужно добавить функцию, которая определяет, существует ли указанный путь в реестре.
Эта функция будет принимать один параметр с именем " fullPath», который включает в себя как HKEY, так и подпуть. Например: HKEY_CURRENT_USER\SOFTWARE\xxx\yyy, где HKEY_CURRENT_USER — это HKEY, а SOFTWARE\xxx\yyy — это вложенный путь. Все, что я хочу сделать, это проверить, существует ли этот подпуть.
Однако я столкнулся с проблемой. Когда я использую HKEY_CURRENT_USER\SOFTWARE\xxx\yyy в качестве входных данных, он не может найти путь. Но если я изменю HKEY на HKEY_LOCAL_MACHINE (например, HKEY_LOCAL_MACHINE\SOFTWARE\xxx\yyy), он будет работать нормально и вернет true.
Когда я попытаюсь найти HKEY_CURRENT_USER\SOFTWARE\xxx\yyy , я использую RegOpenKeyEx, и он выходит из строя с кодом ошибки 0x12 (ERROR_NO_MORE_FILES). Но это работает, когда я использую HKEY_LOCAL_MACHINE\SOFTWARE\xxx\yyy.
В чем разница между использованием HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE в этом случае? Почему с одним все получается, а с другим нет?
Причина, по которой я не могу правильно прочитать настройки в разделе HKEY_CURRENT_USER.

Подробнее здесь: https://stackoverflow.com/questions/789 ... rrent-uesr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»