如何以编程方式编辑特定用户的注册表项?

Tam*_*lei 7 .net c# windows registry

我想更改我在应用程序中创建的Windows用户的一些设置.如果我理解正确,他的" HKEY_CURRENT_USER"价值将会在HKEY_USERS/<sid>/....它是否正确?如果我知道用户名和域名,我怎样才能获得用户的sid?

编辑:如果我已经有sid,我该如何正确编辑该用户的HKCU密钥?

deu*_*uid 3

我有一个程序可以做到这一点。这是代码的相关部分:

NTAccount ntuser = new NTAccount(strUser);
SecurityIdentifier sID = (SecurityIdentifier) ntuser.Translate(typeof(SecurityIdentifier));
strSID = sID.ToString();
Run Code Online (Sandbox Code Playgroud)

您将需要导入两个命名空间:

using System.DirectoryServices;
using System.Security.Principal;
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。

然后Registry.Users.SetValue与 SID string\path 一起使用来设置注册表值。

如果您正在编辑已注销的配置文件,尤其是漫游配置文件,这可能无法按预期工作。