日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
剖析VB.NET Process的屬性與對象

VB.NET經(jīng)過長時間的發(fā)展,很多用戶都很了解VB.NET Process了,這里我發(fā)表一下個人理解,和大家討論討論。你再也不需要使用Win32應(yīng)用編程接口或者VB的Shell函數(shù)來啟動外部應(yīng)用程序了。因為你可以使用.NET框架中的System.Diagnostics.Process類來進行這個操作,從而進一步簡化代碼。

高縣網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),高縣網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為高縣千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的高縣做網(wǎng)站的公司定做!

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

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

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

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

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

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

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

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

 
 
 
 
  1. Dim psInfo As New _  
  2. System.Diagnostics.ProcessStartInfo _  
  3. ("c:\somepath\somefile.txt")  
  4. psInfo.WindowStyle = _ 
  5. System.Diagnostics.ProcessWindowStyle.Normal  
  6. Dim myProcess As Process = _ 
  7. System.Diagnostics.Process.Start(psInfo) 

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

 
 
 
 
  1. Dim myProcess As System.Diagnostics.Process = _ 
  2. new System.Diagnostics.Process()  
  3. myProcess.StartInfo.FileName = _ 
  4. "c:\somepath\somefile.txt"  
  5. myProcess.StartInfo.WindowStyle = _ 
  6. System.Diagnostics.ProcessWindowStyle.Normal  
  7. myProcess.Start 

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

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

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

【編輯推薦】

  1. 簡單講述VB.NET表間拖放
  2. 五分鐘學會VB.NET實現(xiàn)拖放
  3. 講述強大的VB.NET Web Forms,使用起來卻如此簡單
  4. 分析VB QuickSort應(yīng)用程序
  5. 兩步就可以掌握VB使用ArrayList類

網(wǎng)站標題:剖析VB.NET Process的屬性與對象
URL分享:http://m.5511xx.com/article/codpohg.html