Сбой функции RegQueryValueEx в Windows7 - PullRequest
2 голосов
/ 21 апреля 2010

У меня есть DLL, созданная в cpp, которая пытается читать / записывать некоторые ключи реестра. Этот код прекрасно работает в Windows XP (32-разрядная среда), но не работает в Windows 7 (64-разрядная среда).

Ключи реестра, к которым обращается это приложение, являются общими ключами реестра. Эти ключи не являются частью 32-битного кэша реестра (wow32-бит) или 64-битного кэша реестра.

Пожалуйста, предоставьте ваш ценный вклад в это.

Заранее спасибо.

Jits

Ответы [ 3 ]

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

Проверьте это: Функция RegQueryValueEx

А это: Ключ реестра безопасности и прав доступа

IMO, вы должны проверить настройки разрешений, которые вы используете, чтобы открыть ключ. Либо удалите параметры, требующие повышенных прав, либо запустите приложение в режиме повышенных прав.

1 голос
/ 23 апреля 2010

когда вы говорите «поделился», вы имеете в виду, например, под HKLM? Только приложения с повышенными правами могут писать в Windows 7 и Vista. Если это для вас новость, я предлагаю поискать в Контроль учетных записей или в UAC.

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

Возможно, вам следует инициализировать значение «lpcbData», последнего параметра RegQueryValueEx.

...