所以我有一段代碼用/ requests選項調用powercfg並從stdout中獲得結果。從c#調用powercfg /請求給出錯誤的值
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "powercfg";
p.StartInfo.Arguments = "/requests";
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
但是,當我運行此代碼時,我得到完全不同的輸出,當我在命令行上運行相同的命令。
在代碼版本的情況下,我只會得到一個「[驅動程序]?」的負載。值返回,但在命令行中,我通常會得到2或3個正確形成的響應。
我已經在同一個命令提示符窗口中運行我的代碼,因爲具有相同環境的同一個用戶仍然沒有快樂。
任何想法?
嗯,我確實認爲,這就是爲什麼我運行我的程序在自己的命令在同一個shell ...一個接一個......當然,這意味着他們都使用相同的用戶上下文? – 2013-02-20 14:20:40