2

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

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

请提供您对此的宝贵意见。

提前致谢。

捷特

4

3 回答 3

1

看看这个:RegQueryValueEx 函数

还有这个:注册表项安全和访问权限

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

于 2010-06-08T10:22:15.847 回答
1

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

于 2010-04-22T20:19:08.900 回答
0

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

于 2010-06-08T09:10:42.177 回答