RegQueryValueEx函数在Windows7上失败

时间:2010-04-21 11:50:47

标签: c++ registry windows-7-x64

我有一个用cpp制作的DLL,试图读/写一些注册表键。此代码在Windows XP(32位环境)中运行完美,但在Windows 7(64位环境)中失败。

此应用程序访问的注册表项是共享注册表项。这些密钥不是32位注册表缓存(wow32位)或64位注册表缓存的一部分。

请提供您宝贵的意见。

提前致谢。

JITS

3 个答案:

答案 0 :(得分:1)

当你说“共享”时,你的意思是在HKLM下吗?只允许提升的应用程序写入Windows 7和Vista上的应用程序。如果这对您是新闻,我建议您搜索用户帐户控制或UAC。

答案 1 :(得分:1)

看看这个:RegQueryValueEx Function

而且:Registry Key Security and Access Rights

IMO您必须检查用于打开密钥的权限设置。删除需要提升权限的设置或以提升模式运行应用程序。

答案 2 :(得分:0)

也许你应该初始化“lpcbData”的值,这是RegQueryValueEx的最后一个参数。