更改控制台应用程序中的注册表值

本文关键字:注册表 应用程序 控制台 | 更新日期: 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。