VB.NET中Process的屬性與對(duì)象怎么用

這篇文章主要介紹VB.NET中Process的屬性與對(duì)象怎么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)建站長期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為井研企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都做網(wǎng)站井研網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

你再也不需要使用Win32應(yīng)用編程接口或者VB的Shell函數(shù)來啟動(dòng)外部應(yīng)用程序了。因?yàn)槟憧梢允褂?NET框架中的System.Diagnostics.Process類來進(jìn)行這個(gè)操作,從而進(jìn)一步簡化代碼。

雖然.NET使很多事情變得更加復(fù)雜,但是啟動(dòng)外部應(yīng)用程序不在此列。在傳統(tǒng)VB程序中,你可以使用Shell函數(shù)啟動(dòng)一個(gè)應(yīng)用程序。當(dāng)你傳送一個(gè)數(shù)據(jù)文件名的時(shí)候,VB在相應(yīng)應(yīng)用程序中打開這個(gè)數(shù)據(jù)文件。你可以使用一個(gè)任選的Windowstyle參數(shù)控制所啟動(dòng)的應(yīng)用程序的窗口方式。例如,在VB6中,下面這行代碼將啟動(dòng)默認(rèn)的文本編輯器(通常是記事本)并打開文件"c:\somepath\somefile.txt":

returnID = Shell("c:\somepath\somefile.txt", vbNormalFocus)

通過Microsoft.VisualBasic.Comaptibility域名空間,在VB.NET中仍然能夠使用Shell功能,并且它已經(jīng)被做了一些改動(dòng),但在.NET框架中它并不是啟動(dòng)應(yīng)用程序的***的方法,因?yàn)镾hell函數(shù)有一些嚴(yán)格的限制條件,其中之一就是只能異步地啟動(dòng)程序;在啟動(dòng)應(yīng)用程序之后,你自己的程序才繼續(xù)運(yùn)行。所以你不能直接使用它來啟動(dòng)一個(gè)程序,并且只能等到這個(gè)程序退出,你才能返回到你自己的程序中。為了在傳統(tǒng) VB中做到這點(diǎn),你必須求助于Windows API,而這需要對(duì)窗口句柄、過程識(shí)別號(hào)、枚舉***級(jí)窗口等有所了解。

使用.NET,就能使這個(gè)操作變得很簡單。你可以使用System.Diagnostics域名空間中的VB.NET Process類來啟動(dòng)外部程序。你可以簡單的使用共享的Process.Start方法啟動(dòng)一個(gè)新的過程,把一個(gè)可執(zhí)行文件名或者可執(zhí)行應(yīng)用程序的擴(kuò)展關(guān)聯(lián)文件名作為參數(shù)傳輸給它。例如,下面的代碼啟動(dòng)"c:\somepath\somefile.txt"文件。

System.Diagnostics.Process.Start ("c:\somepath\somefile.txt")

Start方法有一個(gè)超載的版本,能返回一個(gè)VB.NET Process對(duì)象,所以你可以獲得對(duì)啟動(dòng)的過程的引用,并可用于多種用途:

Dim myProcess As Process = System.Diagnostics.Process.Start  ("c:\somepath\somefile.txt")  MessageBox.Show(myProcess.ProcessName)

初看起來,你看上去好象喪失了控制窗口風(fēng)格的能力(還記得Shell函數(shù)的第二個(gè)參數(shù)嗎?),但是事實(shí)情況并非如此。在很多情況下,你不需要明確地設(shè)置窗口風(fēng)格,因?yàn)槟J(rèn)情況是在一個(gè)帶有焦點(diǎn)的正常窗口(ProcessWindowStyle.Normal)中啟動(dòng)過程。但是如果你想使用一個(gè)不同的窗口風(fēng)格時(shí),可以使用超載的Process.Start方法接收一個(gè)ProcessStartInfo對(duì)象參數(shù)而不是一個(gè)簡單的字符串。為了使用它,首先要?jiǎng)?chuàng)建一個(gè)ProcessStartInfo對(duì)象,然后設(shè)置進(jìn)程初置值。兩個(gè)超載方法讓你設(shè)置一個(gè)文件名或者一個(gè)文件名和一組命令行參數(shù)。并且 ProcessStartInfo對(duì)象還有一個(gè)WindowStyle屬性,由 System.Diagnostics.Process.WindowStyle枚舉的值組成。所以你可以調(diào)用Process.Start方法并傳送一個(gè) ProcessStartInfo對(duì)象來控制啟動(dòng)的窗口的風(fēng)格。

Dim psInfo As New _  System.Diagnostics.ProcessStartInfo _  ("c:\somepath\somefile.txt")  psInfo.WindowStyle = _ System.Diagnostics.ProcessWindowStyle.Normal  Dim myProcess As Process = _ System.Diagnostics.Process.Start(psInfo)

由于VB.NET Process類有一個(gè)StartInfo屬性,它是一個(gè)ProcessStartInfo對(duì)象,所以另一種產(chǎn)生相同結(jié)果的方法是創(chuàng)建一個(gè) Process對(duì)象并設(shè)置它的StartInfo屬性。在預(yù)創(chuàng)建的Process對(duì)象的時(shí)候,你可以僅僅調(diào)用它的Start方法,而不需使用 Process類的共享Start方法。

Dim myProcess As System.Diagnostics.Process = _ new System.Diagnostics.Process()  myProcess.StartInfo.FileName = _ "c:\somepath\somefile.txt"  myProcess.StartInfo.WindowStyle = _ System.Diagnostics.ProcessWindowStyle.Normal  myProcess.Start

在設(shè)計(jì)期間設(shè)置Process參數(shù)

.NET框架出廠時(shí)已經(jīng)帶有在設(shè)計(jì)期間封裝這些代碼的VB.NET Process組件。你可以在工具欄的Components欄目中找到它。為了使用它,把一個(gè)Process組件拖到你的窗體上,然后在屬性窗口展開StartInfo屬性,如下圖所示設(shè)置StartInfo的值。

VB.NET中Process的屬性與對(duì)象怎么用

你可以添加一個(gè)Process組件到一個(gè)窗體中,讓你在設(shè)計(jì)期間設(shè)置屬性而不是在運(yùn)行期間設(shè)置屬性。

以上是“VB.NET中Process的屬性與對(duì)象怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

新聞名稱:VB.NET中Process的屬性與對(duì)象怎么用
標(biāo)題URL:http://bm7419.com/article38/jdjdsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司商城網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司營銷型網(wǎng)站建設(shè)、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營