繁体   English   中英

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

[英]C# Change registry settings for all users

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

谢谢msindle

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

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

不过,我会小心一点,因为您可能不想弄乱LocalService / NetworkService / etc用户的设置。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM