2010-04-21 40 views
2

我有一个在cpp中试图读/写某些注册表项的dll。此代码在Windows XP(32位环境)中运行得非常好,但在Windows 7(64位环境)中失败。RegQueryValueEx函数在Windows7上失败

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

请提供您的宝贵意见。

在此先感谢。

小工具

+0

失败如何?你会得到什么样的回报值? – 2010-05-06 15:37:48

回答

1

当你说“共享”你的意思,例如在HKLM?只允许升级的应用程序写入Windows 7和Vista上的应用程序。如果这是你的消息,我建议在用户帐户控制或UAC上搜索。

+0

是的,好像* RegQueryValueEx *正在** **写入注册表。 – 2010-06-08 10:20:51

+2

是的,当问题显示“尝试读取/写入某些注册表项”时,我很愚蠢地认为代码可能会写入它们。 – 2010-06-08 12:44:34

0

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