'怎样用VB断开与internet的连接?
'━━━━━━━━━━━━━━━━━━━━━━━━━━
'如果你想终止与internet的连接,可以使用断开连接的方法,首先你必须声明以下函数和变量:
Declarations
Public Const RAS_MAXENTRYNAME As Integer = 256Public Const RAS_MAXDEVICETYPE As Integer = 16
Public Const RAS_MAXDEVICENAME As Integer = 128
Public Const RAS_RASCONNSIZE As Integer = 412Public Const ERROR_SUCCESS = 0 &
Public Type RasEntryName
dwSize As Long
szEntryName (RAS_MAXENTRYNAME ) As Byte
End Type
Public 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
Public Declare Function RasEnumConnections Lib _
" rasapi32.dll" Alias " RasEnumConnectionsA" (lpRasConn As _
Any, lpcb As Long, lpcConnections As Long ) As Long
Public Declare Function RasHangUp Lib " rasapi32.dll" Alias _
" RasHangUpA" ( ByVal hRasConn As Long ) As Long
Public gstrISPName As String
Public ReturnCode As Long
'断开过程:
Public Sub HangUp ()
Dim i As Long
Dim lpRasConn (255 ) As RasConn
Dim lpcb As Long
Dim lpcConnections As Long
Dim hRasConn As Long
lpRasConn (0 ).dwSize = RAS_RASCONNSIZE
lpcb = RAS_MAXENTRYNAME * lpRasConn (0 ).dwSize
lpcConnections = 0
ReturnCode = RasEnumConnections (lpRasConn (0 ), lpcb, lpcConnections )
If ReturnCode = ERROR_SUCCESS Then
For i = 0 To lpcConnections - 1
If Trim (ByteToString (lpRasConn (i ).szEntryName )) = Trim (gstrISPName ) Then
hRasConn = lpRasConn (i ).hRasConn
ReturnCode = RasHangUp ( ByVal hRasConn )
End If
Next i
End If
End Sub
Public Function ByteToString (bytString () As Byte ) As String
Dim i As Integer
ByteToString = ""
i = 0
While bytString (i ) = 0 &
ByteToString = ByteToString & Chr (bytString (i ))
i = i + 1
Wend
End Function
'调用断开过程:
Call HangUp
'━━━━━━━━━━━━━━━━━━━━━━━━━━
'如果你想终止与internet的连接,可以使用断开连接的方法,首先你必须声明以下函数和变量:
Declarations
Public Const RAS_MAXENTRYNAME As Integer = 256Public Const RAS_MAXDEVICETYPE As Integer = 16
Public Const RAS_MAXDEVICENAME As Integer = 128
Public Const RAS_RASCONNSIZE As Integer = 412Public Const ERROR_SUCCESS = 0 &
Public Type RasEntryName
dwSize As Long
szEntryName (RAS_MAXENTRYNAME ) As Byte
End Type
Public 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
Public Declare Function RasEnumConnections Lib _
" rasapi32.dll" Alias " RasEnumConnectionsA" (lpRasConn As _
Any, lpcb As Long, lpcConnections As Long ) As Long
Public Declare Function RasHangUp Lib " rasapi32.dll" Alias _
" RasHangUpA" ( ByVal hRasConn As Long ) As Long
Public gstrISPName As String
Public ReturnCode As Long
'断开过程:
Public Sub HangUp ()
Dim i As Long
Dim lpRasConn (255 ) As RasConn
Dim lpcb As Long
Dim lpcConnections As Long
Dim hRasConn As Long
lpRasConn (0 ).dwSize = RAS_RASCONNSIZE
lpcb = RAS_MAXENTRYNAME * lpRasConn (0 ).dwSize
lpcConnections = 0
ReturnCode = RasEnumConnections (lpRasConn (0 ), lpcb, lpcConnections )
If ReturnCode = ERROR_SUCCESS Then
For i = 0 To lpcConnections - 1
If Trim (ByteToString (lpRasConn (i ).szEntryName )) = Trim (gstrISPName ) Then
hRasConn = lpRasConn (i ).hRasConn
ReturnCode = RasHangUp ( ByVal hRasConn )
End If
Next i
End If
End Sub
Public Function ByteToString (bytString () As Byte ) As String
Dim i As Integer
ByteToString = ""
i = 0
While bytString (i ) = 0 &
ByteToString = ByteToString & Chr (bytString (i ))
i = i + 1
Wend
End Function
'调用断开过程:
Call HangUp