我用vb6编了一个程序B,这个程序由另一个程序A调用,当A在程序内调用B程序时,向B程序传递一些参数,我想知道在B程序中怎样实现,在启动时接受,命令行参数,谢谢了

解决方案 »

  1.   

    Private Sub Form_Load()
    MsgBox Command
    End Sub
      

  2.   

    Sub Main()
        If command="A" Then
        Else
        End If
    End Sub
      

  3.   

    各位,我没见过这种东西,能举个例子吗?
    比如A调用B时,传过来par1,par2,par3,par4。我该怎么做?Command是个系统参数吗?,谢谢,我实在是没这么用过。
      

  4.   

    教你一个简单的办法
    在A调用B之前新建一个临时文件,将参数保存到临时文件中,多个参数可以用","分开
    然后在B调用的时候判断这个文件是否存在,如果存在则打开文件,获取参数,然后删除临时文件
      

  5.   

    程序B: 在 Sub Main() 函数里面,加入 Command
    例如:
    Sub Main()
        Dim strCommand As String
        strCommand= Command() ' strCommand 相当于传入的参数
        '以下的处理你自己考虑
        '...
    End Sub例如:B程序名称:Finds , 那么 调用时: Finds AB BC D@b
    程序中,strCommand 就会为: AB BC D@b
    在程序A用Shell调用B程序的时候:
    Call Shell("Finds AB BC D@b")
    那么就相当于把AB BC D@b参数传入了Finds了。
      

  6.   

    程序B中写:
    Private Sub Form_Load()
    MsgBox Command
    End Sub
    然后将程序B做成B.exe文件.
    然后用命令行调用:B par1,par2,par3,par4
    看看弹出的msgbox,你就知道Command的用法了
      

  7.   

    各位,我没见过这种东西,能举个例子吗?
    比如A调用B时,传过来par1,par2,par3,par4。我该怎么做?
    Command是个系统参数吗?,谢谢,我实在是没这么用过。
    //Command是个系统参数!它只接受你所有输入的东西,比如你传par1,par2,par3,par4 command显示的就是par1,par2,par3,par4 你可以再用split去分割它
      

  8.   

    完成以下几步:
    1.设置成带命令行参数的工程
    [工程]->[工程属性]->[生成]->[命令行参数]  (在此处输入你应用程序的参数)2.在 sub main 中获取参数值
    Public Function PrvGetCmdLine(Optional lMaxargs)
    Dim C, cmdLine
    Dim lCmdLnLen, lNumArgs As Long
    Dim bInArg As Boolean
    Dim i As Long
    Dim ArgArray()
        
        '默认最多10个参数
        If IsMissing(lMaxargs) Then lMaxargs = 10
        
        ReDim ArgArray(lMaxargs)
        lNumArgs = 0
        bInArg = False
        
        '获取参数
        cmdLine = Command()
        lCmdLnLen = Len(cmdLine)
        
        For i = 1 To lCmdLnLen
            C = Mid(cmdLine, i, 1)
            '检测是否为 Space 或 Tab
            If (C <> "" And C <> vbTab) Then
                If Not bInArg Then
                    If lNumArgs = lMaxargs Then Exit For
                    lNumArgs = lNumArgs + 1
                    bInArg = True
                End If
                ArgArray(lNumArgs) = ArgArray(lNumArgs) + C
            Else
                bInArg = False
            End If
        Next
        ReDim Preserve ArgArray(lNumArgs)
        PrvGetCmdLine = ArgArray()End Function