Private Const RAS_MAXENTRYNAME = 256
Private Const RAS_MAXDEVICENAME = 128
Private Const RAS_MAXDEVICETYPE = 16
Private Const RAS_RASCONNSIZE As Integer = 412
Private Type RasConn
dwSize As Long
hRasConn As Long
szEntryName(RAS_MAXENTRYNAME) As Byte
szDeviceType(RAS_MAXDEVICETYPE) As Byte
szDeviceName(RAS_MAXDEVICENAME) As Byte
End Type
Private Declare Function RasHangUp Lib "rasapi32" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function RasEnumConnections Lib "rasapi32.dll" Alias "RasEnumConnectionsA" (lpRasConn As Any, lpcb As Long, lpcConnections As Long) As LongPublic Sub HangUp()
Dim lpRasConn(255) As RasConn
Dim lpcb As Long
Dim lpcConnections As Long
Dim hRasConn As Long
Dim CodeReturn As Long
Dim i As Long
lpRasConn(0).dwSize = RAS_RASCONNSIZE
lpcb = RAS_MAXENTRYNAME * lpRasConn(0).dwSize
lpcConnections = 0
CodeReturn = RasEnumConnections(lpRasConn(0), lpcb, lpcConnections) If CodeReturn = ERROR_SUCCESS Then
For i = 0 To lpcConnections - 1
If Trim$(ByteToString(lpRasConn(i).szEntryName)) = Trim$(gstrISPName) Then
hRasConn = lpRasConn(i).hRasConn
CodeReturn = RasHangUp(ByVal hRasConn)
End If
Next i
End If
End Sub
Public Function ByteToString(bytString() As Byte) As String
Dim lngX As Long
ByteToString = ""
lngX = 0
While bytString(lngX) = 0&
ByteToString = ByteToString & Chr(bytString(lngX))
lngX = lngX + 1
Wend
End Function
Private Const RAS_MAXDEVICENAME = 128
Private Const RAS_MAXDEVICETYPE = 16
Private Const RAS_RASCONNSIZE As Integer = 412
Private Type RasConn
dwSize As Long
hRasConn As Long
szEntryName(RAS_MAXENTRYNAME) As Byte
szDeviceType(RAS_MAXDEVICETYPE) As Byte
szDeviceName(RAS_MAXDEVICENAME) As Byte
End Type
Private Declare Function RasHangUp Lib "rasapi32" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function RasEnumConnections Lib "rasapi32.dll" Alias "RasEnumConnectionsA" (lpRasConn As Any, lpcb As Long, lpcConnections As Long) As LongPublic Sub HangUp()
Dim lpRasConn(255) As RasConn
Dim lpcb As Long
Dim lpcConnections As Long
Dim hRasConn As Long
Dim CodeReturn As Long
Dim i As Long
lpRasConn(0).dwSize = RAS_RASCONNSIZE
lpcb = RAS_MAXENTRYNAME * lpRasConn(0).dwSize
lpcConnections = 0
CodeReturn = RasEnumConnections(lpRasConn(0), lpcb, lpcConnections) If CodeReturn = ERROR_SUCCESS Then
For i = 0 To lpcConnections - 1
If Trim$(ByteToString(lpRasConn(i).szEntryName)) = Trim$(gstrISPName) Then
hRasConn = lpRasConn(i).hRasConn
CodeReturn = RasHangUp(ByVal hRasConn)
End If
Next i
End If
End Sub
Public Function ByteToString(bytString() As Byte) As String
Dim lngX As Long
ByteToString = ""
lngX = 0
While bytString(lngX) = 0&
ByteToString = ByteToString & Chr(bytString(lngX))
lngX = lngX + 1
Wend
End Function
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货