2013-06-04 141 views
0

我試圖運行在一個CHKDSK一個命令提示符具有管理員權限啓動,但我創建給我這個消息的日誌文件:C# - 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管理員,但沒有改變。

感謝您的幫助。

問候

+0

檢查http://stackoverflow.com/a/16897884/1160207 –

回答

0

試試這個:

打開應用程序 「清單文件」。元素requestedExecutionLevel更改爲:

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

我也有類似的問題,一旦;-)

+0

謝謝。它現在完美運行!但是,一旦我的應用程序將以發佈模式構建,當用戶啓動時,他將會按照我的想法運行它作爲管理員?無論如何要避免這一點? (這是您在客戶端計算機上自動啓動的應用程序)。 – 3wic

相關問題