1

我正在研究应该更改注册表数据值的东西。所以用户点击一个按钮,它会改变值。我使用 C# 在 powershell 中运行命令。

当我使用这个...

string script = "Set-ItemProperty -path \HKLM:\\ -name rname -value + new";

它可以毫无问题地更改该 MAIN 文件夹中的值,但是当我尝试像这样更改其中一个 SUBFOLDERS 中的值时..

string script = "Set-ItemProperty -path \HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon -name rname -value + new";

它什么也不做。值根本没有变化。

有人可以帮忙吗?

4

2 回答 2

5

更好的选择可能是在 C#中使用Registry 类:

Registry.SetValue("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\...", "rname", value);

它应该完成同样的事情,但方式要简单得多。

于 2013-07-30T19:38:54.040 回答
0

如果您在 C# 中执行此操作,则还需要转义反斜杠。例如,代替HKLM:\software\Micro...,您需要HKLM:\\software\\Micro...

于 2013-07-30T19:23:18.850 回答