用好VB的Command函数
IT商界
有些可执行程序直接启动它没有什么反应,但把某些文件拖到这个程序来启动,它就能对这个文件进行分析,如果是它允许的类型文件,那就会进行相应的处理;或者在命令行中把这个文件的路径作为参数来运行这个程序,也能进行相应的处理。其实,这两种启动方式是一样的。
在VB里,利用Command函数就能实现这个功能,因为它返回的就是命令行中的参数部分。不过要让VB生成的可执行文件拥有上面的功能,还需要做一些“动作”。
但在使用Command函数的过程中,笔者发现了一个小问题:要是拖拉的文件的路径里有空格(半角)的话,返回的参数值就会用双引号括起来,否则没有双引号。
打开VB,我们来测试一下上面的论述是否正确:
新建一个工程(标准EXE),添加一个模块,在模块中添加以下代码:
Sub Main()
MsgBox Command
End Sub
然后设置“启动对象”为“Sub Main”,生成EXE文件,再把某些文件拖到生成的EXE文件上面打开,你将会看到Command返回的值,若是这个文件的路径带有空格,将会多出一个双引号。也可以在命令行里书写一些参数打开看看,如:在运行里按下浏览,打开你生成的EXE文件,然后打一个空格,在后面随便写些东西。
这就是VB的Command函数,至于对它返回的值做一些什么样的处理,就随你的便了,笔者是这样用的:
把上面的Msgbox Command一句换成下面几行代码:
Dim s As String
s = Command
If s <> "" Then
If Right(s, 1) = """" Then
s = Mid(s, 2, Len(s))
s = Mid(s, 1, Len(s) - 1)
End If
Kill s
End If
最后,生成一个叫“毁灭”的EXE文件放在桌面上,然后把桌面上的图标一个一个拖到上面去执行判断文件路径是否有半角空格。
本程序在WinXP和VB6中调试通过。