在这和大家分析一下关于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的计算器应用程序的调用。
【编辑推荐】