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