1. 程式人生 > >C#程式呼叫外部exe程式(轉)

C#程式呼叫外部exe程式(轉)

連結:https://www.cnblogs.com/BookCode/p/5329890.html

在編寫程式時經常會使用到呼叫可執行程式的情況,本文將簡單介紹C#呼叫exe的方法。在C#中,通過Process類來進行程序操作。 Process類在System.Diagnostics包中。

示例一

using System.Diagnostics; 

Process p = Process.Start("notepad.exe"); 
p.WaitForExit();//關鍵,等待外部程式退出後才能往下執行

通過上述程式碼可以呼叫記事本程式,注意如果不是呼叫系統程式,則需要輸入全路徑。

示例二

當需要呼叫cmd程式時,使用上述呼叫方法會彈出令人討厭的黑窗。如果要消除,則需要進行更詳細的設定。

Process類的StartInfo屬性包含了一些程序啟動資訊,其中比較重要的幾個

FileName                可執行程式檔名

Arguments              程式引數,已字串形式輸入 
CreateNoWindow     是否不需要建立視窗 
UseShellExecute      是否需要系統shell呼叫程式

通過上述幾個引數可以讓討厭的黑屏消失

System.Diagnostics.Process exep = new System.Diagnostics.Process();
exep.StartInfo.FileName = binStr; 
exep.StartInfo.Arguments = cmdStr; 
exep.StartInfo.CreateNoWindow = true; 
exep.StartInfo.UseShellExecute = false; 
exep.Start(); 
exep.WaitForExit();//關鍵,等待外部程式退出後才能往下執行

或者

System.Diagnostics.Process exep = new System.Diagnostics.Process(); 
System.Diagnostics.ProcessStartInfo startInfo = new 
System.Diagnostics.ProcessStartInfo(); 
startInfo.FileName = binStr; 
startInfo.Arguments = cmdStr; 
startInfo.CreateNoWindow = true; 
startInfo.UseShellExecute = false; 
exep.Start(startInfo); 
exep.WaitForExit();//關鍵,等待外部程式退出後才能往下執行