如题目:最好有具体的代码

解决方案 »

  1.   

    检测本机是否联入互联网,以及以什么形式联入Option Explicit
    '检测本机是否联入互联网,以及以什么形式联入Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" _
            Alias "InternetGetConnectedStateExA" _
            (ByRef lpdwFlags As Long, _
            ByVal lpszConnectionName As String, _
            ByVal dwNameLen As Long, _
            ByVal dwReserved As Long _
            ) As LongPrivate Enum EIGCInternetConnectionState
            INTERNET_CONNECTION_MODEM = &H1&
            INTERNET_CONNECTION_LAN = &H2&
            INTERNET_CONNECTION_PROXY = &H4&
            INTERNET_RAS_INSTALLED = &H10&
            INTERNET_CONNECTION_OFFLINE = &H20&
            INTERNET_CONNECTION_CONFIGURED = &H40&
    End EnumPrivate Function InternetConnected(Optional ByRef eConnectionInfo _
        As EIGCInternetConnectionState, Optional ByRef _
        sConnectionName As String) As Boolean
        
        Dim dwFlags As Long
        Dim sNameBuf As String
        Dim lR As Long
        Dim iPos As Long
        
        On Error Resume Next
        
        sNameBuf = String$(513, 0)
        lR = InternetGetConnectedStateEx(dwFlags, sNameBuf, 512, 0&)
        eConnectionInfo = dwFlags
        iPos = InStr(sNameBuf, vbNullChar)
        If iPos > 0 Then
            sConnectionName = Left$(sNameBuf, iPos - 1)
        ElseIf Not sNameBuf = String$(513, 0) Then
            sConnectionName = sNameBuf
        End If
        InternetConnected = (lR = 1)
        
    End FunctionPublic Function IsInNet() As Boolean    '检测是否已经以及使用什么方法连接到Internet
        Dim bConnected As Boolean
        Dim eR As Long
        Dim sName As String
        Dim sMsg As String
        
        bConnected = InternetConnected(eR, sName)    '根据获得的结果输出
        If (eR And INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM Then
            sMsg = sMsg & "使用modem连接到Internet."
        End If    If (eR And INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN Then
            sMsg = sMsg & "使用内部网连接到Internet."
        End If    If (eR And INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY Then
            sMsg = sMsg & "通过代理服务器连接到Internet."
        End If    If (eR And INTERNET_CONNECTION_OFFLINE) = INTERNET_CONNECTION_OFFLINE Then
            sMsg = sMsg & "现在连接处于离线状态."
        End If    If (eR And INTERNET_CONNECTION_CONFIGURED) = INTERNET_CONNECTION_CONFIGURED Then
            sMsg = sMsg & "连接已经被设定."
        Else
            sMsg = sMsg & "没有设定好的连接."
        End If    If (eR And INTERNET_RAS_INSTALLED) = INTERNET_RAS_INSTALLED Then
            sMsg = sMsg & "本机已经安装了远程访问服务功能."
        End If
        
        MsgBox sMsg
        
        IsInNet = bConnected
      
    End Function
    Sub Main()
        If IsInNet Then
            MsgBox "connected!"
        Else
            MsgBox "no connected!"
        End If
    End Sub