C#更改所有用户的注册表设置

时间:2011-09-30 17:02:59

标签: c# registry

我正在编写一个使用C#的小程序,需要设置所有用户的电源设置。这意味着我需要更改Hkey当前用户以及Hkey Users配置单元下的所有配置文件。我知道如何更改电源设置注册表项,但我不知道如何“循环”通过所有用户“配置文件”(缺少一个更好的单词)并在其设置下进行此更改。我该怎么做,或者有更好的方法来做到这一点。如果情况不明确,我道歉。

由于 msindle

2 个答案:

答案 0 :(得分:2)

您可以在此处找到计算机上所有配置文件的列表: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\
每个键都是一个配置文件。您可以通过查看ProfileImagePath值来检查用户名。

然后使用密钥名称并为每个用户转到HKEY_USERS\[keyname]

但我要小心,因为你可能不想搞乱LocalService / NetworkService / etc用户的设置。

答案 1 :(得分:2)

没有直接编辑其他用户的注册表设置的一般方法。其他用户的注册表设置可能甚至不存储在您的计算机上。要了解一些问题,请阅读Raymond Chen的博客文章“Beware of roaming user profiles”。 (确保您理解他要说的内容 - 即使您在没有启用漫游配置文件的网络上编写内部工具,其中一些也适用。)

最好的解决方案可能是创建一个小应用程序,为当前用户进行此更改,并将其添加到每个人的登录脚本中。这意味着您的实用程序会在每次登录时更改设置,而不是进行一次性更改(因此他们无法永久更改),但您确定每个用户都会发生这种情况。 / p>

相关问题