【原创】在C#中调用其它程序
行一個dos命令等等。下面就以兩個小例子來簡單說明一下如何實現這個功能!
?示例1:通過調用cmd命令執行一個dos命令。代碼片段如下:
? using System.Diagnostics;//這個是必需的命名空間,一定要導入
? private void button1_Click(object sender, EventArgs e)
??????? {
??????????? try
??????????? {
??????????????? //加載CMD命令行并傳遞參數執行
??????????????? Process p = new Process();
??????????????? p.StartInfo.FileName = "cmd.exe";//這里是設置要調用的目標程序或文件,FileName 屬性不
//需要表示可執行文件。它可以是其擴展名已經與系統上安裝的應用程序關聯的任何文件類型
??????????????? p.StartInfo.UseShellExecute = false;//是否使用操作系統外殼程序啟動進程
??????????????? p.StartInfo.RedirectStandardInput = true;//重定向標準輸入方向
??????????????? p.StartInfo.RedirectStandardOutput = true;//重定向標準輸出方向
??????????????? p.StartInfo.RedirectStandardError = true;//是否將進程的錯誤輸出寫入 Process 實例的
//StandardError 成員
??????????????? p.StartInfo.CreateNoWindow = true;//是否顯示CMD命令提示符窗口
??????????????? string strOutput = null;//接收dos命令執行結果
??????????????? p.Start();
??????????????? p.StandardInput.WriteLine(@"cd e:\downloads\");//這個就是要執行的dos命令
??????????????? p.StandardInput.WriteLine("exit");//退出CMD
??????????????? strOutput= p.StandardOutput.ReadToEnd();//取得CMD執行結果可用于調用或其它用途
??????????
??????????????? p.WaitForExit();
??????????????? p.Close();
??????????????
??????????? }
??????????? catch (Exception ex)
??????????? {
??????????????? MessageBox.Show(ex.Message);
??????????? }
???? }
?? 請注意:在上面的示例中,并不是每一句代碼都是必需的,可根據實際需要靈活更改。其中FileName是必須指
定的,Start()方法也是必須調用的。
? 示例2.調用記事本程序并打開已存在的文檔,假設打開E盤下的"笑話.txt"這個文本文件:
?? 2.1可以在示例一中將 p.StartInfo的FileName屬性指定為"笑話.txt",如:p.StartInfo.FileName = "笑
話.txt"。
?? 2.2也可以直接執行下面的命令
??? System.Diagnostics.Process.Start("notepad.exe", @"E:\笑話.txt");
? 如果只是想打開記事本并不需要打開已有文件,直接調用"notepad.exe"文件即可。
? 其實FileName屬性后面的內容就相當于你在開始菜單的運行欄里面輸入的內容一樣,只要在運行里面輸入命令可
以得到結果就可以直接寫在這里,同樣獲得一樣的結果。
? 小提醒:如果要執行的dos命令目錄中包含空格,則需要用引號(")將整個路徑包含起來,否則將會無法執行,相
信但凡有一點dos知識的朋友都會知道這一點。
??????????????
?更多的幫助內容還是看權威的.NET Framework幫助文檔吧。。。。。。。。。
轉載于:https://www.cnblogs.com/phcis/archive/2008/01/04/1025814.html
總結
以上是生活随笔為你收集整理的【原创】在C#中调用其它程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ID,ClientID,UniqueID
- 下一篇: SQL Server的数据导入MySQL