http://topic.csdn.net/u/20080529/00/573e70c3-e6c5-43be-86da-8654e8fb841b.html
17楼

解决方案 »

  1.   

    你可以把结果写到一个文件里再读出来啊Private Sub Command1_Click()
        Dim strResult As String
        Dim strIn As String
        Dim strPath As String
        strPath = App.Path & "\testmode.bat"
        Call Shell("cmd /c " & strPath & ">C:\1.txt", vbNormalFocus)
        Do While Dir("C:\1.txt") = ""
        Loop
        Open "C:\1.txt" For Input As #1
        Do While Not EOF(1)             '   循环至文件尾。
            Line Input #1, strIn         '   读入一行数据并将其赋予某变量。
            strResult = strResult & strIn & vbCrLf
        Loop
        Close #1
        Debug.Print strResult
    End Sub
      

  2.   

    使用API函数取得某个环境变量的值
    Declare   Function   GetEnvironmentVariable   Lib   "kernel32"   Alias   "GetEnvironmentVariableA"   (ByVal   lpName   As   String,   ByVal   lpBuffer   As   String,   ByVal   nSize   As   Long)   As   Long 
      

  3.   

    我从为应该先用记事本打开那个批处理文件,看都是处理什么,程序打开后先记录没执行批处理前的状态,比如说第一个Dos命令是改某注册表下某个值,先记录原先的值 ,执行完后,再检测这个值变没有,结果也就知道了,第二个Dos命令是打开某个exe,执行完成后,检测一下有没有这个exe在运行也就成了.如有认为我说的有理,请顶一下.