注册 登录
编程论坛 VB6论坛

单位的电脑上网时是加域的,请问,如何判断电脑已经拔掉网线,或不在域中?谢谢!

mansohu 发布于 2016-04-20 16:50, 1765 次点击
单位的电脑上网时是加域的,请问,如何判断电脑已经拔掉网线,或不在域中?谢谢!
1 回复
#2
HVB62016-04-20 20:11
判断是否可以访问网络(互联网 局域网)
方法一: API方式
Private Declare Function InternetGetConnectedState Lib "wininet.dll" _
(lpdwFlags As Long, ByVal dwReserved As Long) As Long '申明API
Sub net()
    Dim netweb As Long
    If InternetGetConnectedState(netweb, 0) <> 0 Then
       MsgBox "可以"
    Else
       MsgBox "不可以"
    End If
End Sub
方法二:XMLHTTP
Sub net()
Dim xml6 As Object
Set xml6 = CreateObject("Microsoft.XMLHTTP")
URL = "http://chiensq.blog.
xml6.Open "GET", URL, False
On Error Resume Next
xml6.Send
  If xml6.Status = 200 Then
    MsgBox "可以"
  Else
    MsgBox "不可以"
  End If
End Sub
方法三:ping
Public Function Pings(strMachines As String) As Boolean
aMachines = Split(strMachines, ";")
For Each machine In aMachines     Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select *
_
    from Win32_PingStatus where address = '" & machine & "'")
    For Each objStatus In objPing
        If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then
            Debug.Print ("machine " & machine & " is not reachable")
            Pings = False
        Else
            Pings = True
        End If
    Next
Next
End Function


方法四:shell
Sub Chksys()
Dim  oExec
oExec = CreateObject("Wscript.shell").Run("ping chiensq.blog. -n 1", 0, True)
  If oExec = 0 Then
    msgbox "可以"
  Else
    msgbox"不可以"
  End If
End Sub
方法五:局域网
Sub net()
Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
    If fso.FileExists("\\172.20.31.32\123\ver.txt") Then '文件夹FSO.folderexists(“\\172.20.31.32\123”)
        MsgBox "存在"
    Else
        MsgBox "不存在"
    End If
    Set fso = Nothing
End Sub
\172.20.31.32\123\ver.txt
是指一台ip为172.20.31.32的局域网计算机,的共享文件夹为123中的ver.txt文件
1