2015-05-24 7 views
0

Я хочу, чтобы получить доступ к регистру ключаНе удается получить доступ к реестру ключ

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ Instance Имена \ SQL

Я могу видеть его в смерзаться. exe (я копировал выше пути оттуда).

Но код:

HKEY hKey; 
DWORD err = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Microsoft SQL Server\\Instance Names\\SQL", 0, KEY_READ, &hKey); 

возвращает ошибку 2 (0x2): Система не может найти указанный файл.

+0

Является ли ваша программа 32-битной или 64-битной? Если 32bit будет выглядеть не в том месте. –

+0

@ Richard Critten. Что вы имеете в виду в программе? Операционная система или программа, которая выполняет код для поиска ключа регистра? OS - 64bit, Application - 32bit – kaa

+0

В вашем ключе также есть поле 'name'? У меня нет вашего ключа, но когда я попробую «L» ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \\ Microsoft \\ DirectX », возвращается значение успеха' 0'. Однако, когда я включаю имя поля, например 'L 'SOFTWARE \\ Microsoft \\ DirectX \\ Version" ', возвращается значение ошибки' 2'. –

ответ

1

32-разрядное приложение, работающее под 64-разрядной системой, может быть перенаправлено в реестр. Я не знаю, связано ли это с этим? Может быть добавлен при первом параметре RegOpen KEY_WOW64_64KEY. Или используйте RegDisableReflectionKey отключить перенаправление.

Смежные вопросы