查了網上,寫了下面的代碼,連續輸入然后看反饋
CmdProcess = new Process();//創建行程物件
CmdProcess.StartInfo.FileName = "cmd.exe";//設定需要執行的命令
CmdProcess.StartInfo.UseShellExecute = false; //是否使用作業系統shell啟動
CmdProcess.StartInfo.RedirectStandardInput = true; //接受來自呼叫程式的輸入資訊
CmdProcess.StartInfo.RedirectStandardOutput = true;//由呼叫程式獲取輸出資訊
CmdProcess.StartInfo.RedirectStandardError = true;//重定向標準錯誤輸出
CmdProcess.StartInfo.CreateNoWindow = true;///不顯示程式視窗 false就是創建視窗了
CmdProcess.Start();
CmdProcess.StandardInput.WriteLine("ipconfig&exit");//+ "&exit"
TextBoxCMDShow.Text = CmdProcess.StandardOutput.ReadToEnd() + TextBoxCMDShow.Text;
CmdProcess.StandardInput.WriteLine("route print&exit");
TextBoxCMDShow.Text = CmdProcess.StandardOutput.ReadToEnd() + TextBoxCMDShow.Text;
CmdProcess.StandardInput.WriteLine("exit");
發現只有第一個ipconfig 有輸出,第二個route print 就是空的了。
我懷疑是 & exit造成的,但是如果不加exit,到StandardOutput.readtoend就卡住了。都執行不下去。
是否有大神解惑?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/248792.html
標籤:C#
上一篇:vs2013 打包發布時如何設定不重新生成解決方案,防止覆寫已混淆后的檔案
下一篇:這個擴展如何改? 謝謝。
