在VB中获取程序尾部参数 六阿哥 2001年 27期 我们知道,Windows下的大多数程序都能通过启动关联的文件来启动程序,比如说,双击*.bmP文件启动Wndows的画图程序,画图程序在启动后会打开启动它的文件来编辑,这是非常快捷的。用VB可不可以实现呢?答案是肯定的,以前《电脑报》介绍过一个AISI>N中的例子,不过那个太复杂了,用本方法同样能实现,并且非常容易。   VB提供了一个Command命令来返回程序参数,具体如下:   首先新建一个窗体Forml,并在它的Load事件中写入以下代码:   Private Sub Form_Load()   dim prom as string   prom=VBA.Command   Me.Picture=Load Picture(prom)   END Sub   把此程序编译为.EXE,然后选择一个bmP文件,按着Shift键并按鼠标右键,选择“打开方式”,在弹出的对话框中选择“其它”,再选择刚才编译的程序,并勾选“始终以此程序打开这种类型的文件”一项,按确定,看看启动的EXE,Forml的背景是不是变成了选择的图片,很容易吧?这个时候,你已经使bmp文件和编译的程序建成了关联,可是,这时,你再去双击bmP文件,奇怪,程序启动后并没有显示图片内容,怎么回事呢?这只不过是用VB建立的程序与文件建成关联后,在参数上会加双引号(作为字符串处理),知道问题原因解决就很简单了,我们可   利用ACCO函数来获取参数第一个字母的ASllC值,然后进行处理,双引号的ASllC值是34,所以,以上代码改成: Private Sub Formlnad()   Dim prom As 3iring,promlen As Long   prom= VBA.Command   Promlen=Len(prom)'获取参数长度   If Asc (Prom)= 34 Then”判断是否是双引号   prom= Mid(prom,2,Promlen-2)”去掉参数两边的双引号   End If   Me.Picture=LoadPicture(prom)   End Sub   这样,无论是第一次关联还是关联后,程序都能正确返回参数并处理,此方法在DOS下同样有效。假如以上例子中体编译的程序名为Prom.exe,同目录下有一1.bmp,在DOS下键人proml.bmp,照样启动prom.ex。并显示 l.bm,不过,在纯DOS下不行。以上代码只要稍加修改,便能处理声音、文本等文件。   好了,就到这里,有什么问题和技巧,欢迎和我研究,我的E-mail:Flashcp@slna.com