C# 执行CMD命令C(操作成功但不执行任何操作)

C# 执行CMD命令C(操作成功但不执行任何操作),c#,windows,batch-file,cmd,registry,C#,Windows,Batch File,Cmd,Registry,如果我以管理员权限运行该程序,它会显示: 操作已成功完成 问题是注册表项保持不变 我做错了什么?我试着运行一个.bat,它也有同样的问题。没有错误,它只是不修改注册表项。如果我在CMD中运行.bat或命令,它就会工作。如果我尝试运行CMD命令或包含程序命令的.bat文件,它只表示操作已成功完成。什么也不做。提前谢谢 如果注册表类没有结果: System.Diagnostics.Process process = new System.Diagnostics.Process(); System.

如果我以管理员权限运行该程序,它会显示:

操作已成功完成

问题是注册表项保持不变

我做错了什么?我试着运行一个.bat,它也有同样的问题。没有错误,它只是不修改注册表项。如果我在CMD中运行.bat或命令,它就会工作。如果我尝试运行CMD命令或包含程序命令的.bat文件,它只表示操作已成功完成。什么也不做。提前谢谢

如果注册表类没有结果:

System.Diagnostics.Process process = new System.Diagnostics.Process();

System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = @"/K reg add ""HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer"" /V IconUnderline /T REG_DWORD /D 1 /F";

process.StartInfo = startInfo;
process.Start();

为什么不使用这个类呢?谢谢,我会尝试使用它。不过,如果我想运行一个CMD命令,而不一定是一个注册表编辑,我该怎么做呢?有没有可能你正在点击?例如,影响在HKLM\SOFTWARE\Wow6432Node下找到的32位注册表?我不这么认为,它没有改变任何东西。另外,我试图用registry类更改它,也许我在编辑第一篇文章时又做错了什么。不过,你说得对,我更改了WOW6432节点键。非常感谢你!
        RegistryKey RegKey1 = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer", true);
        RegKey1.SetValue("IconUnderline", 1, RegistryValueKind.DWord);
        RegKey1.Close();