我有一个用cpp制作的DLL,试图读/写一些注册表键。此代码在Windows XP(32位环境)中运行完美,但在Windows 7(64位环境)中失败。
此应用程序访问的注册表项是共享注册表项。这些密钥不是32位注册表缓存(wow32位)或64位注册表缓存的一部分。
请提供您宝贵的意见。
提前致谢。
JITS
答案 0 :(得分:1)
当你说“共享”时,你的意思是在HKLM下吗?只允许提升的应用程序写入Windows 7和Vista上的应用程序。如果这对您是新闻,我建议您搜索用户帐户控制或UAC。
答案 1 :(得分:1)
而且:Registry Key Security and Access Rights
IMO您必须检查用于打开密钥的权限设置。删除需要提升权限的设置或以提升模式运行应用程序。
答案 2 :(得分:0)
也许你应该初始化“lpcbData”的值,这是RegQueryValueEx的最后一个参数。