C#使用Process類調(diào)用外部exe程序
在編寫程序時(shí)經(jīng)常會使用到調(diào)用可執(zhí)行程序的情況,本文將簡單介紹C#調(diào)用exe的方法。在C#中,通過Process類來進(jìn)行進(jìn)程操作。 Process類在System.Diagnostics包中。
示例一
Process p = Process.Start("notepad.exe");
p.WaitForExit();//關(guān)鍵,等待外部程序退出后才能往下執(zhí)行
通過上述代碼可以調(diào)用記事本程序,注意如果不是調(diào)用系統(tǒng)程序,則需要輸入全路徑。
示例二
當(dāng)需要調(diào)用cmd程序時(shí),使用上述調(diào)用方法會彈出令人討厭的黑窗。如果要消除,則需要進(jìn)行更詳細(xì)的設(shè)置。
Process類的StartInfo屬性包含了一些進(jìn)程啟動信息,其中比較重要的幾個(gè)
FileName 可執(zhí)行程序文件名
Arguments 程序參數(shù),已字符串形式輸入
CreateNoWindow 是否不需要?jiǎng)?chuàng)建窗口
UseShellExecute 是否需要系統(tǒng)shell調(diào)用程序
通過上述幾個(gè)參數(shù)可以讓討厭的黑屏消失
exep.StartInfo.FileName = binStr;
exep.StartInfo.Arguments = cmdStr;
exep.StartInfo.CreateNoWindow = true;
exep.StartInfo.UseShellExecute = false;
exep.Start();
exep.WaitForExit();//關(guān)鍵,等待外部程序退出后才能往下執(zhí)行
或者
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();//關(guān)鍵,等待外部程序退出后才能往下執(zhí)行
相關(guān)文章
C#中的lock、Monitor、Mutex學(xué)習(xí)筆記
這篇文章主要介紹了C#中的lock、Monitor、Mutex學(xué)習(xí)筆記,本文講解的都是線程同步的一些知識,需要的朋友可以參考下2015-01-01C#中Write()和WriteLine()的區(qū)別分析
這篇文章主要介紹了C#中Write()和WriteLine()的區(qū)別分析,需要的朋友可以參考下2020-11-11C#學(xué)習(xí)基礎(chǔ)概念二十五問 11-15
C#學(xué)習(xí)基礎(chǔ)概念二十五問 11-15...2007-04-04C#取得Web程序和非Web程序的根目錄的N種取法總結(jié)
C#取得Web程序和非Web程序的根目錄的N種取法,方便大家知道,有更好的方法,請說明2008-03-03C#實(shí)現(xiàn)標(biāo)題閃爍效果的示例代碼
在Windows系統(tǒng)中,當(dāng)程序在后臺運(yùn)行時(shí),如果某個(gè)窗體的提示信息需要用戶瀏覽,該窗體就會不停地閃爍,這樣就會吸引用戶的注意,下面我們就來看看如何使用C#實(shí)現(xiàn)這一效果吧2024-04-04關(guān)于C#調(diào)用C++dll傳指針釋放內(nèi)存問題
這篇文章主要介紹了關(guān)于C#調(diào)用C++dll傳指針釋放內(nèi)存問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12