拨号、断网、枚举连接名称,判断是否在线、连接方式Option Explicit
拨号、断网、枚举连接名称,判断是否在线、连接方式
'拨号/断网
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Declare Function InternetDial Lib "wininet.dll" (ByVal hwndParent As Long, ByVal lpszConnectoid As String, ByVal dwFlags As Long, lpdwConnection As Long, ByVal dwReserved As LongAs Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Declare Function InternetHangUp Lib "wininet.dll" (ByVal dwConnection As Long, ByVal dwReserved As LongAs Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Declare Function InternetAutodial Lib "wininet.dll" (ByVal dwFlags As Long, ByVal dwReserved As LongAs Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Declare Function InternetAutodialHangup Lib "wininet.dll" (ByVal dwReserved As LongAs Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Const INTERNET_DIALSTATE_DISCONNECTED = 1
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Const INTERNET_AUTODIAL_FORCE_ONLINE = 1
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Const INTERNET_AUTODIAL_FORCE_UNATTENDED = 2
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Const INTERNET_DIAL_UNATTENDED = &H8000
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Handle As Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
拨号、断网、枚举连接名称,判断是否在线、连接方式
'网络状态
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" Alias "InternetGetConnectedStateExA" (ByRef lpdwFlags As Long, ByVal lpszConnectionName As String, ByVal dwNameLen As Long, ByVal dwReserved As LongAs Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef dwFlags As Long, ByVal dwReserved As LongAs Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Const INTERNET_CONNECTION_MODEM As Long = &H1 '本系统使用调制解调器与因特网相连
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Const INTERNET_CONNECTION_LAN As Long = &H2 '本系统通过LAN与因特网相连
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Const INTERNET_CONNECTION_PROXY As Long = &H4 '本系统使用proxy代理服务器与因特网相连
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Const INTERNET_CONNECTION_MODEM_BUSY As Long = &H8 '未使用
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Const INTERNET_RAS_INSTALLED As Long = &H10
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Const INTERNET_CONNECTION_OFFLINE As Long = &H20
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Const INTERNET_CONNECTION_CONFIGURED As Long = &H40
拨号、断网、枚举连接名称,判断是否在线、连接方式
拨号、断网、枚举连接名称,判断是否在线、连接方式
'枚举网络连接
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Const RAS_MaxDeviceType = 16
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Const RAS95_MaxDeviceName = 128
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Const RAS95_MaxEntryName = 256
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Type RASCONN95
拨号、断网、枚举连接名称,判断是否在线、连接方式dwSize 
As Long
拨号、断网、枚举连接名称,判断是否在线、连接方式hRasConn 
As Long
拨号、断网、枚举连接名称,判断是否在线、连接方式szEntryName(RAS95_MaxEntryName) 
As Byte
拨号、断网、枚举连接名称,判断是否在线、连接方式szDeviceType(RAS_MaxDeviceType) 
As Byte
拨号、断网、枚举连接名称,判断是否在线、连接方式szDeviceName(RAS95_MaxDeviceName) 
As Byte
拨号、断网、枚举连接名称,判断是否在线、连接方式
End Type
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Type RASENTRYNAME95
拨号、断网、枚举连接名称,判断是否在线、连接方式dwSize 
As Long
拨号、断网、枚举连接名称,判断是否在线、连接方式szEntryName(RAS95_MaxEntryName) 
As Byte
拨号、断网、枚举连接名称,判断是否在线、连接方式
End Type
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Declare Function RasEnumConnections Lib "rasapi32.dll" Alias "RasEnumConnectionsA" (lprasconn As Any, lpcb As Long, lpcConnections As LongAs Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Declare Function RasEnumEntries Lib "rasapi32.dll" Alias "RasEnumEntriesA" (ByVal reserved As String, ByVal lpszPhonebook As String, lprasentryname As Any, lpcb As Long, lpcEntries As LongAs Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
Private Declare Function RasHangUp Lib "rasapi32.dll" Alias "RasHangUpA" (ByVal hRasConn As LongAs Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
拨号、断网、枚举连接名称,判断是否在线、连接方式
'拨号
拨号、断网、枚举连接名称,判断是否在线、连接方式
Public Function DialUp(LinkName As StringAs Boolean
拨号、断网、枚举连接名称,判断是否在线、连接方式InternetDial 
0, LinkName, INTERNET_AUTODIAL_FORCE_UNATTENDED, Handle, 0
拨号、断网、枚举连接名称,判断是否在线、连接方式DialUp 
= (Handle <> 0)
拨号、断网、枚举连接名称,判断是否在线、连接方式
End Function
拨号、断网、枚举连接名称,判断是否在线、连接方式
'断网
拨号、断网、枚举连接名称,判断是否在线、连接方式
Public Sub HangUp()
拨号、断网、枚举连接名称,判断是否在线、连接方式
If Handle <> 0 Then
拨号、断网、枚举连接名称,判断是否在线、连接方式InternetHangUp Handle, 
0
拨号、断网、枚举连接名称,判断是否在线、连接方式Handle 
= 0
拨号、断网、枚举连接名称,判断是否在线、连接方式
End If
拨号、断网、枚举连接名称,判断是否在线、连接方式
End Sub
拨号、断网、枚举连接名称,判断是否在线、连接方式
拨号、断网、枚举连接名称,判断是否在线、连接方式
拨号、断网、枚举连接名称,判断是否在线、连接方式
'枚举网络连接
拨号、断网、枚举连接名称,判断是否在线、连接方式
Public Sub EnumConnectName(Value() As String)
拨号、断网、枚举连接名称,判断是否在线、连接方式
Dim s As Long, l As Long, ln As Long, a As String
拨号、断网、枚举连接名称,判断是否在线、连接方式
ReDim r(255As RASENTRYNAME95
拨号、断网、枚举连接名称,判断是否在线、连接方式
拨号、断网、枚举连接名称,判断是否在线、连接方式r(
0).dwSize = 264
拨号、断网、枚举连接名称,判断是否在线、连接方式
= 256 * r(0).dwSize
拨号、断网、枚举连接名称,判断是否在线、连接方式
= RasEnumEntries(vbNullString, vbNullString, r(0), s, ln)
拨号、断网、枚举连接名称,判断是否在线、连接方式
ReDim Value(ln - 1)
拨号、断网、枚举连接名称,判断是否在线、连接方式
For l = 0 To ln - 1
拨号、断网、枚举连接名称,判断是否在线、连接方式
= StrConv(r(l).szEntryName(), vbUnicode)
拨号、断网、枚举连接名称,判断是否在线、连接方式Value(l) 
= Left$(a$, InStr(a$, Chr$(0)) - 1)
拨号、断网、枚举连接名称,判断是否在线、连接方式
Next
拨号、断网、枚举连接名称,判断是否在线、连接方式
End Sub
拨号、断网、枚举连接名称,判断是否在线、连接方式
拨号、断网、枚举连接名称,判断是否在线、连接方式
'判断是否在线
拨号、断网、枚举连接名称,判断是否在线、连接方式
Public Function Online() As Boolean
拨号、断网、枚举连接名称,判断是否在线、连接方式Online 
= InternetGetConnectedState(0&0&)
拨号、断网、枚举连接名称,判断是否在线、连接方式
End Function
拨号、断网、枚举连接名称,判断是否在线、连接方式
'判断是否在线并返回连接方式
拨号、断网、枚举连接名称,判断是否在线、连接方式
Public Property Get OnlineOfLinkName(LinkName As StringAs Boolean
拨号、断网、枚举连接名称,判断是否在线、连接方式LinkName 
= Space$(128)
拨号、断网、枚举连接名称,判断是否在线、连接方式OnlineOfLinkName 
= InternetGetConnectedStateEx(0, LinkName, 1280&)
拨号、断网、枚举连接名称,判断是否在线、连接方式
End Property
拨号、断网、枚举连接名称,判断是否在线、连接方式
拨号、断网、枚举连接名称,判断是否在线、连接方式
'如果是通过LAN的连接,则返回True
拨号、断网、枚举连接名称,判断是否在线、连接方式
Public Function IsNetConnectViaLAN() As Boolean
拨号、断网、枚举连接名称,判断是否在线、连接方式
Dim dwFlags As Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
Call InternetGetConnectedState(dwFlags, 0&)
拨号、断网、枚举连接名称,判断是否在线、连接方式IsNetConnectViaLAN 
= dwFlags And INTERNET_CONNECTION_LAN
拨号、断网、枚举连接名称,判断是否在线、连接方式
End Function
拨号、断网、枚举连接名称,判断是否在线、连接方式
'如果是通过调制解调器的连接,则返回True
拨号、断网、枚举连接名称,判断是否在线、连接方式
Public Function IsNetConnectViaModem() As Boolean
拨号、断网、枚举连接名称,判断是否在线、连接方式
Dim dwFlags As Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
Call InternetGetConnectedState(dwFlags, 0&)
拨号、断网、枚举连接名称,判断是否在线、连接方式IsNetConnectViaModem 
= dwFlags And INTERNET_CONNECTION_MODEM
拨号、断网、枚举连接名称,判断是否在线、连接方式
End Function
拨号、断网、枚举连接名称,判断是否在线、连接方式
'如果是通过Proxy代理服务器的连接,则返回True
拨号、断网、枚举连接名称,判断是否在线、连接方式
Public Function IsNetConnectViaProxy() As Boolean
拨号、断网、枚举连接名称,判断是否在线、连接方式
Dim dwFlags As Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
Call InternetGetConnectedState(dwFlags, 0&)
拨号、断网、枚举连接名称,判断是否在线、连接方式IsNetConnectViaProxy 
= dwFlags And INTERNET_CONNECTION_PROXY
拨号、断网、枚举连接名称,判断是否在线、连接方式
End Function
拨号、断网、枚举连接名称,判断是否在线、连接方式
'如果已安装了RAS,则返回True
拨号、断网、枚举连接名称,判断是否在线、连接方式
Public Function IsNetRASInstalled() As Boolean
拨号、断网、枚举连接名称,判断是否在线、连接方式
Dim dwFlags As Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
Call InternetGetConnectedState(dwFlags, 0&)
拨号、断网、枚举连接名称,判断是否在线、连接方式IsNetRASInstalled 
= dwFlags And INTERNET_RAS_INSTALLED
拨号、断网、枚举连接名称,判断是否在线、连接方式
End Function
拨号、断网、枚举连接名称,判断是否在线、连接方式
'返回当前网络状态信息字符串
拨号、断网、枚举连接名称,判断是否在线、连接方式
Public Function GetNetConnectString() As String
拨号、断网、枚举连接名称,判断是否在线、连接方式
Dim dwFlags As Long
拨号、断网、枚举连接名称,判断是否在线、连接方式
Dim msg As String
拨号、断网、枚举连接名称,判断是否在线、连接方式
If InternetGetConnectedState(dwFlags, 0&Then
拨号、断网、枚举连接名称,判断是否在线、连接方式
If dwFlags And INTERNET_CONNECTION_CONFIGURED Then
拨号、断网、枚举连接名称,判断是否在线、连接方式msg 
= msg & "系统配置了网络连接" & vbCrLf
拨号、断网、枚举连接名称,判断是否在线、连接方式
End If
拨号、断网、枚举连接名称,判断是否在线、连接方式
If dwFlags And INTERNET_CONNECTION_LAN Then
拨号、断网、枚举连接名称,判断是否在线、连接方式msg 
= msg & "系统通过局域网与因特网相连接"
拨号、断网、枚举连接名称,判断是否在线、连接方式
End If
拨号、断网、枚举连接名称,判断是否在线、连接方式
If dwFlags And INTERNET_CONNECTION_PROXY Then
拨号、断网、枚举连接名称,判断是否在线、连接方式msg 
= msg & "并使用了Proxy代理服务"
拨号、断网、枚举连接名称,判断是否在线、连接方式
Else: msg = msg & "."
拨号、断网、枚举连接名称,判断是否在线、连接方式
End If
拨号、断网、枚举连接名称,判断是否在线、连接方式
If dwFlags And INTERNET_CONNECTION_MODEM Then
拨号、断网、枚举连接名称,判断是否在线、连接方式msg 
= msg & "系统使用调制解调器与因特网相连接"
拨号、断网、枚举连接名称,判断是否在线、连接方式
End If
拨号、断网、枚举连接名称,判断是否在线、连接方式
If dwFlags And INTERNET_CONNECTION_OFFLINE Then
拨号、断网、枚举连接名称,判断是否在线、连接方式msg 
= msg & "系统当前处于离线状态"
拨号、断网、枚举连接名称,判断是否在线、连接方式
End If
拨号、断网、枚举连接名称,判断是否在线、连接方式
If dwFlags And INTERNET_CONNECTION_MODEM_BUSY Then
拨号、断网、枚举连接名称,判断是否在线、连接方式msg 
= msg & "系统的调制解调器未连接到因特网"
拨号、断网、枚举连接名称,判断是否在线、连接方式
End If
拨号、断网、枚举连接名称,判断是否在线、连接方式
If dwFlags And INTERNET_RAS_INSTALLED Then
拨号、断网、枚举连接名称,判断是否在线、连接方式msg 
= msg & "本系统安装了远程访问服务"
拨号、断网、枚举连接名称,判断是否在线、连接方式
End If
拨号、断网、枚举连接名称,判断是否在线、连接方式
Else
拨号、断网、枚举连接名称,判断是否在线、连接方式msg 
= "当前未与因特网相连"
拨号、断网、枚举连接名称,判断是否在线、连接方式
End If
拨号、断网、枚举连接名称,判断是否在线、连接方式GetNetConnectString 
= msg
拨号、断网、枚举连接名称,判断是否在线、连接方式
End Function 
拨号、断网、枚举连接名称,判断是否在线、连接方式

相关文章:

  • 2021-12-16
  • 2021-12-25
  • 2021-09-17
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-06
  • 2022-02-03
  • 2022-12-23
  • 2021-07-24
相关资源
相似解决方案