对于使用 Visual Basic 开发并编译为 .exe 文件的应用程序,VB提供了一个Command 函数,函数返回出现在命令行中应用程序名之后的任何参数。下面函数演示了如何获取参数的所有技术细节。
Function GetCommandLine(Optional MaxArgs)
′声明变量。
Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs
′检查是否提供了 MaxArgs 参数。
If IsMissing(MaxArgs) Then MaxArgs = 10
′ 使数组的大小合适。
ReDim ArgArray(MaxArgs)
NumArgs = 0: InArg = False
′取得命令行参数。
CmdLine = Command()
CmdLnLen = Len(CmdLine)
′以一次一个字符的方式取出命令行参数。
For I = 1 To CmdLnLen
C = Mid(CmdLine, I, 1) ′检测是否为 space 或 tab。
If (C <> ″ ″ And C <> vbTab) Then
′若既不是 space 键,也不是 tab 键,则检测是否为参数内含之字符。
If Not InArg Then
′新的参数。检测参数是否过多。
If NumArgs = MaxArgs Then Exit For
NumArgs = NumArgs + 1
InArg = True
End If
′将字符加到当前参数中。
ArgArray(NumArgs) = ArgArray(NumArgs) + C
Else
′找到 space 或 tab。将 InArg 标志设置成 False。
InArg = False
End If
Next I
ReDim Preserve ArgArray(NumArgs) ′调整数组大小使其刚好符合参数个数。
GetCommandLine = ArgArray() ′将数组返回。
End Function