成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

簡單描述VB.NET ProcessStartInfo對象

開發 后端
這里介紹VB.NET ProcessStartInfo對象,由于Process類有一個StartInfo屬性,它是一個VB.NET ProcessStartInfo對象,所以另一種產生相同結果的方法是創建一個 Process對象并設置它的StartInfo屬性。

學習VB.NET時,你可能會遇到VB.NET ProcessStartInfo對象問題,這里將介紹VB.NET ProcessStartInfo對象問題的解決方法,在這里拿出來和大家分享一下。在啟動外部應用程序時,我們通常使用Win32應用編程接口或者VB的Shell函數解決?,F在,在.NET框架中有個System.Diagnostics.Process類,通過這個類進行這個操作,你會發現方便了很多。

在傳統VB程序中,你可以使用Shell函數啟動一個應用程序。當你傳送一個數據文件名的時候,VB在相應應用程序中打開這個數據文件。你可以使用一個任選的windowstyle參數控制所啟動的應用程序的窗口方式。例如,在VB6中,下面這行代碼將啟動默認的文本編輯器(通常是記事本)并打開文件"D:\run.txt":

  1. returnID = Shell("D:\run.txt", vbNormalFocus) 

雖然通過Microsoft.VisualBasic.Comaptibility域名空間,在VB.NET中仍然能夠使用Shell功能,并且它已經被做了一些改動,但在.NET框架中它并不是啟動應用程序的***的方法,因為Shell函數有一些嚴格的限制條件,其中之一就是只能異步地啟動程序;在啟動應用程序之后,你自己的程序才繼續運行。所以你不能直接使用它來啟動一個程序,并且只能等到這個程序退出,你才能返回到你自己的程序中。為了在傳統VB中做到這點,你必須求助于Windows API,而這需要對窗口句柄、過程識別號、枚舉***級窗口等有所了解。
使用.NET,就能使這個操作變得很簡單。你可以使用System.Diagnostics域名空間中的Process類來啟動外部程序。你可以簡單的使用共享的 Process.Start方法啟動一個新的過程,把一個可執行文件名或者可執行應用程序的擴展關聯文件名作為參數傳輸給它。例如,下面的代碼啟動"D:\run.txt"文件。

  1. System.Diagnostics.Process.Start ("D:\run.txt") 

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

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

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

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

由于Process類有一個StartInfo屬性,它是一個VB.NET ProcessStartInfo對象,所以另一種產生相同結果的方法是創建一個 Process對象并設置它的StartInfo屬性。在預創建的Process對象的時候,你可以僅僅調用它的Start方法,而不需使用 Process類的共享Start方法。

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

另外,.NET框架出廠時已經帶有在設計期間封裝這些代碼的Process組件。你可以在工具欄的Components欄目中找到它。為了使用它,把一個Process組件拖到你的窗體上,然后在屬性窗口展開StartInfo屬性。

【編輯推薦】

  1. VB.NET System.IO老鳥經驗談
  2. 分析VB.NET創建類的具體操作過程
  3. 快速了解VB.NET垃圾收集器
  4. 對VB.NET OBEX協議的簡單概括
  5. 寶典之初步了解VB.NET Web app
責任編輯:佚名 來源: IT168
相關推薦

2009-10-15 09:02:19

VB.NET申明數組

2009-10-14 13:56:05

VB.NET數據窗體

2009-10-13 09:33:49

VB.NET Web

2009-10-14 09:15:15

2009-10-20 14:21:55

VB.NET fnSi

2009-10-19 14:22:13

VB.NET EIF體

2009-10-20 14:09:05

VB.NET反射功能

2009-10-27 12:06:01

VB.NET IDis

2009-10-16 13:26:53

VB.NET Exce

2009-10-14 13:21:46

VB.NET Acco

2009-10-09 15:59:41

VB.NET對象

2009-10-12 12:54:58

VB.NET聲明API

2009-10-13 17:16:40

VB.NET Web服

2009-10-15 15:04:42

VB.NET PadL

2009-10-28 10:09:07

VB.NET Dire

2009-10-13 14:38:10

VB.NET訪問類型

2009-11-10 10:28:20

VB.NET誕生

2010-01-15 15:39:14

VB.NET Sub過

2009-10-09 17:40:38

VB.Net問題集

2009-10-23 13:10:14

VB.NET List
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧洲精品在线 | 日本一本视频 | 美女视频网站久久 | 91成人午夜性a一级毛片 | 欧美一级二级在线观看 | 欧美日韩在线观看一区 | 国产农村妇女精品一区 | 国产精品国产精品国产专区不片 | 国产高清在线 | 免费国产视频 | 国产精品久久久久久久久图文区 | 91精品久久久| 99精品视频免费在线观看 | 日韩在线视频免费观看 | 国产精品射| 色综合天天天天做夜夜夜夜做 | 久久99国产精品 | 亚洲在线视频 | 黑人巨大精品欧美黑白配亚洲 | 成在线人视频免费视频 | 亚洲天堂中文字幕 | 国产在线对白 | 黑人精品欧美一区二区蜜桃 | 中文字幕成人在线 | 国产精品视频999 | 亚洲精品一区二区另类图片 | 91精品国产91久久久久久密臀 | 成人av一区 | 国产成人精品在线播放 | www.99热这里只有精品 | 久久久日韩精品一区二区三区 | 久国产精品 | www国产成人免费观看视频,深夜成人网 | 美国av毛片| 日本黄色激情视频 | 久久国产成人 | 国产毛片久久久 | 91亚洲国产亚洲国产 | 欧美日韩不卡 | 在线中文字幕亚洲 | 在线午夜电影 |