前面介绍了通用过程的定义及其调用。实际上,在Visual Basic中不但可以调用通用过程,而且可以调用各种应用程序。也就是说,凡是能在Windows下运行的应用程序,基本 上都可以在Visual Basic中调用。这一功能通过Shell函数来实现。 Shell函数的格式如下:
Shell(命令字符串[,窗口类型])
其中“命令字符串”是要执行的应用程序的文件名(包括路径),它必须是可执行文件,其扩展名为.COM, .EXE. .BAT或PIF,其他文件不能用Shell函数执行。“窗口类型”是执行应 用程序时的窗口的大小,有6种选择,见表9.2.
表9.2“窗口类型”取值常量值窗口类型vbHide 0窗口被隐藏,焦点移到隐式窗口
vbNormalFocus 1窗口具有焦点,并还原到原来的大小和位置vbMinimizedFocus 2窗口会以一个具有焦点的图标来显示vbMaximizedFocus 3窗口是一个具有焦点的最大化窗口
vbNormalNoFocus 4窗口被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动 vbMinimizedNoFocus 6窗口以一个图标来显示。而当前活动的窗口仍然保持活动Shell函数调用某个应用程序并成功地执行后,返回一个任务标识(Task ID),它是执行程序的惟一标识。例如:
x=Shell(c:\\winword\\winword.exe\
该语句调用\,并把ID返回给xo注意,在具体输入程序时,ID不能省 略。上面的语句如果写成
Shell(c:\\winword\\winword.exe\,1) 则是非法的,因为必须在前面加上\=”(可以用其他变量名)。
注意,Shell函数是以异步方式来执行其他程序的。也就是说,用Shell启动的程序可 能还没有执行完,就己经执行Shell函数之后的语句。 例9.12编写程序,用Shell函数调用应用程序。
首先在窗体上建立两个命令按钮,并把其Caption属性分别设置为“开始”和“结束”, FontSize属性均设置为160然后编写如下的通用过程: Function retnum()
NL = Chr(13) + Chr(10)
msg$ = \.运行DOS命令\.运行VB应用程序\ msg$ = msg$ + NL + \.计算器\
msg$ = msg$ + NL + NL + \请输入数字选择:\ retnum = InputBox(msg$) End Function
调用该过程时,通过InputBox函数显示一个对话框,如图9.14所示,并让用户输入数字, 过程返回输入的数字。 编写如下的事件过程:
Private Sub Command1_Click() r = retnum()
If r = 1 Then
x = Shell(\ ElseIf r = 2 Then
y = Shell(\ ElseIf r = 3 Then
z = Shell(\ Else
MsgBox \请输入1-3的数\ End If End Sub
上面是两个命令按钮的事件过程。在第一个事件过程中,先调用通用过程retnum,得到一 个返回值。如果输入的值为1,2或3,则分别进入DOS状态、执行vbp目录下的“vbexam.exe\程序或调用Windows下的“计算器”。如果输入其他数字,则显示一个对话框,要求重新输 入。如果单击第二个命令按钮,则退出程序。 的变化都是在变量的副本上进行的。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库VB第九章(5)在线全文阅读。
相关推荐: