写入Windows注册表?

3
我开发了一个必须写入Windows注册表的实用程序。我想知道没有管理员权限的用户是否可以写入注册表。我尝试了“HKEY_LOCAL_MACHINE”,但它被锁定了。是否有注册表中这些用户可以写入的部分? 如果没有-如果用户不是管理员组成员,他们需要哪些权限才能写入注册表?
提前感谢!
2个回答

5
对于用户设置,您需要使用HKEY_CURRENT_USER。每个用户都有自己的注册表副本,一个用户无法访问另一个用户的设置。如果用户具有漫游配置文件,则注册表将随用户在不同计算机上漫游。
如果您确实需要存储在本地计算机上并由该计算机上的所有用户共享的设置,则必须使用HKEY_LOCAL_MACHINE。要使非管理员用户写入此注册表,您必须修改正在使用的注册表键的ACL。为此,您需要拥有提升的特权。可以使用安装程序来完成此操作。这不是常见的方法。
您可以在MSDN上阅读有关Windows注册表的更多信息

1

权限可以针对每个子树进行完全定制(使用ACLs),但HKEY_CURRENT_USER通常应该是可完全写入的。

您可以使用regedit来探索当前设置的注册表权限:)


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