原文 c#隱式執行cmd命令(隱藏命令視窗)
本文實現了c#隱式執行cmd命令的功能。下圖是例項程式的主畫面。在命令文字框輸入dos命令,點選「run」按鈕,在下面的文字框中輸出執行結果。
下面是程式的完整**。本程式沒有使用p.standardoutput.readtoend()和p.standardoutput.readline()方法來獲得輸出,因為這些方法執行後畫面容易卡死。而是通過呼叫非同步方法beginoutputreadline來獲取輸出,並在事件p.outputdatareceived的事件處理方法中來處理結果。
usingsystem;
using
system.diagnostics;
using
system.io;
using
system.windows.forms;
namespace
rundoscommandform
private void button1_click(
object
sender, eventargse)
private void excutedoscommand(
string
cmd)
cmdwriter.close();
p.waitforexit();
p.close();
}catch
(exception ex)
}private void sortprocess_outputdatareceived(
object
sender,datareceivedeventargs e)
)); }}
}}
我們還可以將需要執行的cmd命令儲存為bat檔案,再使用process類來執行。
process p = new process();//設定呼叫的程式名,不是系統目錄的需要完整路徑
p.startinfo.filename = "
cmd.bat
";//
傳入執行引數
p.startinfo.arguments = ""
;p.startinfo.useshellexecute = false;//
是否重定向標準輸入
p.startinfo.redirectstandardinput = false;//
是否重定向標準轉出
p.startinfo.redirectstandardoutput = false;//
是否重定向錯誤
p.startinfo.redirectstandarderror = false;//
執行時是不是顯示視窗
p.startinfo.createnowindow = true;//
啟動 p.start();
p.waitforexit();
p.close();
讓CMD命令隱藏執行
文 rqc 我們一般在執行 cmd 命令的時候都會蹦出來乙個黑乎乎的視窗 這對我們來說是很不好的,在c 中如何隱藏呢 請看如下 system.diagnostics.process proc new system.diagnostics.process proc.startinfo.windowst...
c 執行cmd命令
using system using system.collections.generic using system.linq using system.text using system.threading using system.diagnostics catch exception e re...
C 中隱式操作CMD命令列視窗
ms的cmd命令列是一種重要的操作介面,一些在c 中不那麼方便完成的功能,在cmd中幾個簡單的命令或許就可以輕鬆搞定,如果能在c 中能完成cmd視窗的功能,那一定可以使我們的程式簡便不少。下面介紹一種常用的在c 程式中呼叫cmd.exe程式,並且不顯示命令列視窗介面,來完成cmd中各種功能的簡單方法...