您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“VB.NET如何使用ProcessStartInfo對象”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“VB.NET如何使用ProcessStartInfo對象”這篇文章吧。
在啟動外部應用程序時,我們通常使用Win32應用編程接口或者VB的Shell函數解決。現在,在.NET框架中有個System.Diagnostics.Process類,通過這個類進行這個操作,你會發現方便了很多。
在傳統VB程序中,你可以使用Shell函數啟動一個應用程序。當你傳送一個數據文件名的時候,VB在相應應用程序中打開這個數據文件。你可以使用一個任選的windowstyle參數控制所啟動的應用程序的窗口方式。例如,在VB6中,下面這行代碼將啟動默認的文本編輯器(通常是記事本)并打開文件"D:\run.txt":
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"文件。
System.Diagnostics.Process.Start ("D:\run.txt")
Start方法有一個超載的版本,能返回一個Process對象,所以你可以獲得對啟動的過程的引用,并可用于多種用途:
Dim myProcess As Process = System.Diagnostics.Process.Start ("D:\run.txt") 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對象來控制啟動的窗口的風格。
Dim psInfo As New _ System.Diagnostics.ProcessStartInfo _ ("D:\run.txt") psInfo.WindowStyle = _ System.Diagnostics.ProcessWindowStyle.Normal Dim myProcess As Process = _ System.Diagnostics.Process.Start(psInfo)
由于Process類有一個StartInfo屬性,它是一個VB.NET ProcessStartInfo對象,所以另一種產生相同結果的方法是創建一個 Process對象并設置它的StartInfo屬性。在預創建的Process對象的時候,你可以僅僅調用它的Start方法,而不需使用 Process類的共享Start方法。
Dim myProcess As System.Diagnostics.Process = _ new System.Diagnostics.Process() myProcess.StartInfo.FileName = _ "D:\run.txt" myProcess.StartInfo.WindowStyle = _ System.Diagnostics.ProcessWindowStyle.Normal myProcess.Start
另外,.NET框架出廠時已經帶有在設計期間封裝這些代碼的Process組件。你可以在工具欄的Components欄目中找到它。為了使用它,把一個Process組件拖到你的窗體上,然后在屬性窗口展開StartInfo屬性。
以上是“VB.NET如何使用ProcessStartInfo對象”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。