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

實際操作VB.NET啟動外部程序技巧講解

開發 后端
如果大家想要實現一個VB.NET啟動外部程序的操作,那么就可以通過使用Win32應用編程接口等函數來進行解決。不過使用VB.NET后,會發現這一步驟是非常簡單的。

VB.NET開發是由微軟推出的一款主要應用于面向對象的語言。實現的功能主要體現在其穩固的框架平臺提供上。在VB.NET啟動外部程序時,我們通常使用Win32應用編程接口或者VB的Shell函數解決。現在,在.NET框架中有個System.Diagnostics.Process類,通過這個類進行這個操作,你會發現方便了很多。#t#

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

在設計VB.NET啟動外部程序期間設置Process參數

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

責任編輯:曹凱 來源: 博客園
相關推薦

2010-01-14 14:46:57

2010-01-07 18:05:18

VB.NET事務處理

2010-01-07 18:22:40

VB.NET聲音播放

2010-01-07 10:46:27

VB.NET Sock

2010-01-11 16:04:10

VB.NET使用wit

2010-01-18 18:20:49

VB.NET使用API

2010-01-11 10:44:47

VB.NET多窗體

2010-01-14 15:44:17

VB.NET數據綁定

2010-01-07 10:02:53

Flash控制VB.N

2010-01-08 18:37:08

VB.NET顯示圖片

2009-10-26 12:39:09

VB.NET通信程序

2009-10-28 13:24:25

VB.NET文件

2010-01-11 11:37:08

VB.NET操作CSV

2010-01-08 14:07:47

VB.NET窗體傳值

2010-01-15 19:04:09

2009-10-20 10:16:24

VB.NET COMB

2009-10-14 09:58:43

VB.NET程序

2009-10-13 14:42:30

VB.NET靜態成員

2009-10-14 17:21:47

VB.NET定制Win

2009-10-27 12:20:06

VB.NET多線程應用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区中文 | 精品三区| 国产精品网页 | 欧美小视频在线观看 | 蜜月va乱码一区二区三区 | 波多野结衣在线观看一区二区三区 | 久久久久久久久国产成人免费 | 欧美电影一区 | 国产一区二区自拍 | 亚洲97 | 久久久久久av| 亚洲精品一区在线观看 | 综合二区| av中文天堂 | 91精品国产综合久久久久久漫画 | 天堂男人av | 91精品久久久久久久久 | 亚洲国产一区二区三区在线观看 | 羞羞视频在线观看网站 | 欧美日韩视频在线 | 日韩av.com | 亚洲+变态+欧美+另类+精品 | 久久久久国产一区二区三区四区 | 国产精品久久久久免费 | 做a视频| 日日干夜夜操天天操 | 精品一区二区三区视频在线观看 | 日日摸天天添天天添破 | 精品日韩一区二区三区av动图 | 国产欧美精品一区二区 | 亚洲成人在线免费 | 亚洲精品www| 国产精品日韩欧美 | 欧美成视频 | 久久国产精品久久 | 日日夜夜免费精品 | 国产福利在线 | 精品久久久久久久久久久久久久 | 国产一区二区在线免费视频 | 亚洲免费精品 | 亚洲一区国产 |