更改控制台应用程序中的注册表值
本文关键字:注册表 应用程序 控制台 | 更新日期: 2023-09-27 18:27:58
我想创建一个切换注册表值的文件。
我试图让它获得价值,然后根据结果采取行动。我不太喜欢控制台应用程序。程序似乎挂断了。我做错了什么?
Process p = new Process();
ProcessStartInfo psi = new ProcessStartInfo();
psi.CreateNoWindow = true;
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.FileName = "c:''windows''syswow64''cmd.exe";
psi.Arguments = "reg query HKLM''SOFTWARE''Microsoft''VisualStudio''9.0''AD7Metrics''Engine''{F200A7E7-DEA5-11D0-B854-00A0244A1DE2} /v ProgramProvider /s";
p.StartInfo = psi;
p.Start();
if (p.StandardOutput.ReadToEnd().Contains("3FFA64D1D639"))
psi.Arguments = "reg add HKLM''SOFTWARE''Microsoft''VisualStudio''9.0''AD7Metrics''Engine''{F200A7E7-DEA5-11D0-B854-00A0244A1DE2} /v ProgramProvider /d {170EC3FC-4E80-40AB-A85A-55900C7C70DE} /f";
else
psi.Arguments = "reg add HKLM''SOFTWARE''Microsoft''VisualStudio''9.0''AD7Metrics''Engine''{F200A7E7-DEA5-11D0-B854-00A0244A1DE2} /v ProgramProvider /d {4FF9DEF4-8922-4D02-9379-3FFA64D1D639} /f";
p.StartInfo = psi;
p.Start();
熟悉CMD.exe/c和/k开关。
正如评论者所说,没有理由让事情变得如此复杂。如果你真的需要外部程序(我看没有理由),你可以直接调用reg.exe,而不需要cmd.exe。