2015-05-24 99 views
0

我想访问注册按键无法获得访问注册表键

HKEY_LOCAL_MACHINE \ SOFTWARE \微软\ Microsoft SQL Server的\实例名称\ SQL

我可以看到它在注册表编辑。 (我复制上面的路径从那里)。

但代码:

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位?如果是32位,它会看错地方。 –

+0

@ Richard Critten。你的节目是什么意思?操作系统或执行代码来查找注册表项的程序?操作系统 - 64位,应用程序 - 32位 – kaa

+0

您的密钥是否也包含“名称”字段?我没有钥匙,但是当我尝试'L“SOFTWARE \\ Microsoft \\ DirectX”'时,返回成功值'0'。但是,当我包含“L”SOFTWARE \\ Microsoft \\ DirectX \\ Version“字段名称”时,返回错误值“2”。 –

回答

1

在64位系统下运行的32位应用程序,注册表可能会被重定向。 我不知道是否与此有关? 可以在第一次RegOpen时添加KEY_WOW64_64KEY参数。 或者使用RegDisableReflectionKey禁用重定向。