快速運用VB.NET SHELL函數
在這和大家分析一下關于VB.NET SHELL函數的調用。在VB中,還可以調用各種應用程序,也就是說,凡能夠在DOS或Windows下運行的應用程序,基本上都可在VB中調用。這一功能可通過VB.NET SHELL函數來實現。
它的語法結構如下:
- Shell(pathname[,windowstyle])
參數說明:
pathname為所要執行的應用程序的名稱及其路徑和必要的參數;
windowstyle表示在程序運行時窗口的樣式。其中的參數windowstyle的設置及其說明如下表:
| 設置值 | 常數 | 說明 |
| 0 | vbHide | 窗口被隱藏,且焦點會移到隱藏式窗口 |
| 1 | vbNormalFocus | 窗口具有焦點,且會還原到它原來的大小和位置 |
| 2 | vbMinimizedFocus | 窗口會以一個具有焦點的圖標來顯示 |
| 3 | vbMaximizedFocus | 窗口是一個具有焦點的最大化窗口 |
| 4 | vbNormalNoFocus | 窗口會被還原到最近使用的大小和位置,而當前活動的窗口仍然保持活動 |
| 6 | vbMinimizedNoFocus | 窗口會以一個圖標來顯示,而當前活動的窗口仍然保持活動 |
如果windowstyle省略,則程序是以具有焦點的最小化窗口來執行的。
VB.NET SHELL函數的功能是執行一個可執行文件,同時返回一個Variant(Double),如果調用成功的話,返回一個任務標識(TaskID),它是執行程序的唯一標識,若不成功,則會返回0。例如:
- x=Shell(c:\winword\winword.exe",3)
該語句調用“WordforWindows”,并把ID返回給x。注意,在具體輸入程序時,ID不能省略。上面的語句不能寫成:
- Shell(c:\winword\winword.exe",3)
必須在前面加上“x=”(可以用其它變量名)。
例1:設計程序:
在窗體的form_load()事件中添加如下代碼:
- PrivateSubForm_load()
- Dimstr1asstring'定義一個字符串變量用于存儲程序執行的情況
- Form1.hide'隱藏窗體
- str1=Shell("c:\windows\system32\calc.exe",1)'調用c:\windows\system32\calc.exe程序,將參數windowstyle設置為1,可讓程序以正常大小的窗口完成并且擁有焦點
- EndSub
程序說明:程序首先定義一個字符串變量,用于存儲程序執行的情況,如果運行正常,就會返回所調用應用程序的ID,否則就會返回0;,然后通過Form1.hide來隱藏窗體;最后str1=Shell("c:\pwin95\calc.exe",1)來完成對win95的計算器應用程序的調用。
【編輯推薦】

















