随笔-10  评论-4  文章-11  trackbacks-0

在.NET裡要如何調用外部程式呢??


在.net裡,提供了Process類,提供我們強大的調用外部工具功能,並透過重新導向輸入與輸出,可以取得執行結果,下面就用一個例子來示範在一個WinForm裡輸入一個Dos命令,然後呼叫CMD.EXE來執行,並取回執行的結果。

[程式畫面]


[程式碼]
 1         private string RunCmd(string command)
 2         {
 3             //實例一個Process類,啟動一個獨立進程
 4             Process p = new Process();
 5 
 6             //Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性:
 7 
 8             p.StartInfo.FileName = "cmd.exe";           //設定程序名
 9             p.StartInfo.Arguments = "/c " + command;    //設定程式執行參數
10             p.StartInfo.UseShellExecute = false;        //關閉Shell的使用
11             p.StartInfo.RedirectStandardInput = true;   //重定向標準輸入
12             p.StartInfo.RedirectStandardOutput = true;  //重定向標準輸出
13             p.StartInfo.RedirectStandardError = true;   //重定向錯誤輸出
14             p.StartInfo.CreateNoWindow = true;          //設置不顯示窗口
15 
16             p.Start();   //啟動
17             
18             //p.StandardInput.WriteLine(command);       //也可以用這種方式輸入要執行的命令
19             //p.StandardInput.WriteLine("exit");        //不過要記得加上Exit要不然下一行程式執行的時候會當機
20             
21             return p.StandardOutput.ReadToEnd();        //從輸出流取得命令執行結果
22 
23         }

[範例程式碼下載]

posted on 2006-05-10 16:40 Jason Cheng 阅读(969) 评论(2)  编辑 收藏 所属分类: .Net

评论:
#1楼  2006-07-12 13:12 | teki [未注册用户]
very good!
  回复  引用  查看    

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
另存  打印
最新IT新闻:
· Joost借道TOM在线 将正式进军中国
· 微软副总裁公开承认Vista存在问题
· 互联网DNS存在重大漏洞 黑客可能控制网络流量
· Opera提出网络标准课程 发布标准教育倡议
· SubSonic 2.1 版本发布