C# - cmd以管理员身份运行,但无法执行CHKDSK

时间:2013-06-04 12:16:49

标签: c# cmd administrator rights

我正在尝试在使用管理员权限启动的cmd提示符中运行CHKDSK,但我创建的日志文件给了我这条消息:

  

访问被拒绝您没有足够的权限。   您必须调用在提升模式下运行的此实用程序。

这是我的代码:

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

            process.StartInfo.CreateNoWindow = true;
            process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            process.StartInfo.Verb = "runas";
            process.StartInfo.FileName = "cmd";
            process.StartInfo.Arguments = "/env /user:" + "Administrator" + " cmd";
            process.StartInfo.CreateNoWindow = true;
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.RedirectStandardInput = true;
            process.Start();

            System.IO.StreamReader SR;
            System.IO.StreamWriter SW;

            Thread.Sleep(200);

            SR = process.StandardOutput;
            SW = process.StandardInput;

            string command = "CHKDSK.exe" + "/C" + " > " + "\"" + "C:\\Users\\Maha\\Documents\\log.txt" + "\"";

            SW.WriteLine(command);

            _errorMsg = process.StandardOutput.ReadToEnd();
            process.WaitForExit();

我试图在管理员中运行CHKDSK,但没有任何改变。

感谢您的帮助。

此致

1 个答案:

答案 0 :(得分:0)

试试这个:

打开您的应用程序“清单文件”。将requestedExecutionLevel元素更改为:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

我曾遇到过类似的问题;-)