如:运行-> CMD -> Net View
---------------------------------------------
计算机A
计算机B
计算机C
计算机D我想在VB中用 Shell"Net View" ,执行完后程序要获得执行结果。再输入到指定的文本框中。

解决方案 »

  1.   

    try:
    Sub test()
        Dim iStr$
        
        Shell "net view > c:\a.txt", vbHide  --将执行结果输出到c:\a.txt中
        Open "c:\a.txt" For Input As #1      --从c:\a.txt文件中读取结果
        While Not EOF(1)
            Line Input #1, iStr
            Debug.Print iStr
        Wend
        Close #1
    End Sub
      

  2.   


    win2k的Net命令实际是调用API实现的。有相当一部分使用了NetAPI32.dll中的API函数。这个问题可能与NetServerEnum有关。
      

  3.   

    这样做
    Shell"Net View > a.txt"
    然后,再打开a.txt,将读取到的内容写入文本框
      

  4.   

    太简单,建立管道吗!!!
    msn:[email protected]
      

  5.   

    '98下用:
    x = Shell("command /c ipconfig >c:\bohao\1.txt", 1)’nt/2000下用
    x = Shell("cmd /c ipconfig >c:\bohao\1.txt", 1)以前试过行得通的,但net view不知道行不行,现在没有测试环境,自己试试吧
      

  6.   

    '在他们的基础上,自己试了一下,是可以的.
    Private Const WAIT_TIMEOUT = &H102&Public Function ShellForWait(sAppName As String, Optional ByVal lShowWindow As VbAppWinStyle = vbMinimizedFocus, Optional ByVal lWaitTime As Long = 0) As Boolean
        Dim lID As Long, lHnd As Long, lRet As Long
        On Error Resume Next
        lID = Shell(sAppName, lShowWindow)
        If lID > 0 Then
            lHnd = OpenProcess(SYNCHRONIZE, 0, lID)
            If lHnd <> 0 Then
                Do
                    lRet = WaitForSingleObject(lHnd, lWaitTime)
                    DoEvents
                Loop While lRet = WAIT_TIMEOUT
                CloseHandle lHnd
                ShellForWait = True
            Else
                ShellForWait = False
            End If
        Else
            ShellForWait = False
        End If
    End Function
    Private Sub Command1_Click()
        ShellForWait "cmd /c net view >c:\a.txt",,&HFFFF  
        Open "c:\a.txt" For Input As #1  
        While Not EOF(1)
            Line Input #1, iStr
            Debug.Print iStr
        Wend
        Close #1
    End Sub