在VB中获取程序尾部参数

Author: 六阿哥 Date: 2001年 27期

?牐犖颐侵溃琖indows下的大多数程序都能通过启动关联的文件来启动程序,比如说,双击*.bmP文件启动Wndows的画图程序,画图程序在启动后会打开启动它的文件来编辑,这是非常快捷的。用VB可不可以实现呢?答案是肯定的,以前《电脑报》介绍过一个AISI>N中的例子,不过那个太复杂了,用本方法同样能实现,并且非常容易。
  ?牐燰B提供了一个Command命令来返回程序参数,具体如下:
  ?牐犑紫刃陆ㄒ桓龃疤錐orml,并在它的Load事件中写入以下代码:
  ?牐燩rivate Sub Form_Load()
  ?牐燿im prom as string
  ?牐爌rom=VBA.Command
  ?牐燤e.Picture=Load Picture(prom)
  ?牐燛ND Sub
  ?牐牥汛顺绦虮嘁胛瓻XE,然后选择一个bmP文件,按着Shift键并按鼠标右键,选择“打开方式”,在弹出的对话框中选择“其它”,再选择刚才编译的程序,并勾选“始终以此程序打开这种类型的文件”一项,按确定,看看启动的EXE,Forml的背景是不是变成了选择的图片,很容易吧?这个时候,你已经使bmp文件和编译的程序建成了关联,可是,这时,你再去双击bmP文件,奇怪,程序启动后并没有显示图片内容,怎么回事呢?这只不过是用VB建立的程序与文件建成关联后,在参数上会加双引号(作为字符串处理),知道问题原因解决就很简单了,我们可
  ?牐犂肁CCO函数来获取参数第一个字母的ASllC值,然后进行处理,双引号的ASllC值是34,所以,以上代码改成:           Private Sub Formlnad()
  ?牐燚im prom As 3iring,promlen As Long
  ?牐爌rom= VBA.Command
  ?牐燩romlen=Len(prom)'获取参数长度
  ?牐營f Asc (Prom)= 34 Then”判断是否是双引号
  ?牐爌rom= Mid(prom,2,Promlen-2)”去掉参数两边的双引号
  ?牐燛nd If
  ?牐燤e.Picture=LoadPicture(prom)
  ?牐燛nd Sub
  ?牐犝庋蘼凼堑谝淮喂亓故枪亓螅绦蚨寄苷贩祷夭问⒋?理,此方法在DOS下同样有效。假如以上例子中体编译的程序名为Prom.exe,同目录下有一1.bmp,在DOS下键人proml.bmp,照样启动prom.ex。并显示 l.bm,不过,在纯DOS下不行。以上代码只要稍加修改,便能处理声音、文本等文件。
  ?牐牶昧耍偷秸饫铮惺裁次侍夂图记桑队臀已芯浚业腅-mail:Flashcp@slna.com