所有用户的注册表数据应该存储在哪里?

5

我想在Windows注册表中共享一小部分数据,以供所有用户使用。这些用户可以是登录到计算机或计算机上的服务的任何用户,他们都可以对数据进行共享读取和写入。是否有一个可以实现这个目的的位置?我尝试使用“HKEY_USERS\.DEFAULT\Software\”,但似乎被Vista UAC规则阻止了。

2个回答

6

您可以将所有用户数据放在HKEY_LOCAL_MACHINE hive中,但是根据您的问题,您需要调整密钥的权限以使其可被所有用户写入。


4

HKEY_LOCAL_MACHINE 应该是存储用户之间数据的地方。这里有一个好的简短解释 链接,说明了哪些文件夹/蜂房用于什么。


根据我的经验,这将被UAC阻止。 我之前问过这个问题(当我看到你的问题时,我正在尝试找到我的问题<g>)。 我没有找到任何所有用户都可以在没有管理员权限的情况下进行写入/读取的位置。 - Clay Nichols
如果您放宽在HKLM\Software下添加的密钥的权限,那么就可以获得所需的位置而不会受到UAC的干扰。除了回到使用.INI文件(显然,微软现在正在倡导这种做法)之外,我看不到其他选择。 - RobH
我发现当我需要一个包含用户共享数据的值时,我使用本地机器hive来为我的应用程序创建适当的键。然后,我创建一个包含用户可修改值的子键,并在安装期间设置该键的权限,以允许用户对其进行写入。其他只有管理员应更改的值放置在此子键之外。 - William Leader

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接