0

我试图在以管理员权限启动的 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,但没有任何改变。

谢谢您的帮助。

问候

4

1 回答 1

0

尝试这个:

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

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

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

于 2013-06-04T12:21:27.353 回答