我知道局域网内一台电脑的ip,搜索该ip可以找到,进入该电脑需要输入用户名和密码,我正确输入后可以正常进入。
   我的问题是,以上工作如何在程序中实现?
   要求:
   1,如果网络不通或用户名密码不正确可以获得一个返回值,比如0
   2,如果成功登入返回一个值,比如非0
   亟盼回复

解决方案 »

  1.   

    '格式shell "net use \\电脑名 密码 /user:用户"例如: Shell "net use \\192.168.1.200 ABC/user:1234"
      

  2.   

    是不是类似如下:
    Shell "net use z: \\192.168.1.200 ABC/user:1234"
    如果成功就会有映射网络驱动器Z:
    是不是要判断z:是否存在?
    如何判断?
      

  3.   

    '试一下这样.Private Const CONNECT_UPDATE_PROFILE = &H1Private Const RESOURCE_CONNECTED As Long = &H1&
    Private Const RESOURCE_GLOBALNET As Long = &H2&
    Private Const RESOURCETYPE_DISK As Long = &H1&
    Private Const RESOURCEDISPLAYTYPE_SHARE& = &H3
    Private Const RESOURCEUSAGE_CONNECTABLE As Long = &H1&Private Declare Function WNetAddConnection2 Lib "mpr.dll" Alias "WNetAddConnection2A" (lpNetResource As NETCONNECT, ByVal lpPassword As String, ByVal lpUserName As String, ByVal dwFlags As Long) As LongPrivate Type NETCONNECT
        dwScope As Long
        dwType As Long
        dwDisplayType As Long
        dwUsage As Long
        lpLocalName As String
        lpRemoteName As String
        lpComment As String
        lpProvider As String
    End TypePrivate Declare Function WNetCancelConnection2 Lib "mpr.dll" Alias "WNetCancelConnection2A" (ByVal lpName As String, ByVal dwFlags As Long, ByVal fForce As Long) As Long
    Public Function MapDrive(LocalDrive As String, RemoteDrive As String, Optional Username As String, Optional Password As String) As Boolean
       Dim NetR As NETCONNECT   NetR.dwScope = RESOURCE_GLOBALNET
       NetR.dwType = RESOURCETYPE_DISK
       NetR.dwDisplayType = RESOURCEDISPLAYTYPE_SHARE
       NetR.dwUsage = RESOURCEUSAGE_CONNECTABLE
       NetR.lpLocalName = Left$(LocalDrive, 1) & ":"
       NetR.lpRemoteName = RemoteDrive   MapDrive = (WNetAddConnection2(NetR, Password, Username, CONNECT_UPDATE_PROFILE) = 0)
    End Function
    Public Function CancelConnection(LocalDrive As String) As Boolean
    CancelConnection = (WNetCancelConnection2(LocalDrive, CONNECT_UPDATE_PROFILE, 0) = 0)
    End FunctionPrivate Sub Command1_Click()
    Shell "net use \\192.168.1.200 ABC /user:ABC"If MapDrive("I:", "\\192.168.1.200\文件名") Then
        Call CancelConnection("I:") '删除映射
        MsgBox "登录成功"
    Else
        MsgBox "登录失败"
    End If
    End Sub
      

  4.   

    Dim WshShell, oExec
    Set WshShell = CreateObject("WScript.Shell")
    '如下正行登陆,并查看结果
    Set oExec = WshShell.Exec("net use \\电脑名 密码 /user:用户")MsgBox oExec.StdErr.ReadAll
    MsgBox oExec.StdOut.ReadAll'如下查看登陆状态
    Set oExec = WshShell.Exec("net use")MsgBox oExec.StdErr.ReadAll
    MsgBox oExec.StdOut.ReadAll
      

  5.   

    关于MapDrive("I:", "\\192.168.1.200\文件名"),
    如果网络不通而无法连接时,程序会等很长时间,影响了运行,我想设定一个时间上线,比如1s,如果超过一秒就停止登入,认为无法连接。
      请问如何实现啊?