微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题在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