上海展览中心 宠物展:断开网络代码是多少?

来源:百度文库 编辑:神马品牌网 时间:2024/05/01 15:56:15

前几天有个判断网络是否连接的代码,现在再来个断开网络连接的代码:

Public Const RAS_MAXENTRYNAME As Integer = 256
Public Const RAS_MAXDEVICETYPE As Integer = 16

Public Const RAS_MAXDEVICENAME As Integer = 128

Public Const RAS_RASCONNSIZE As Integer = 412
Public 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

Sub Test() ''调用断开过程:

Call HangUp

End Sub

引用通告地址: http://www.ExcelFans.cn/Blog/trackback.asp?tbID=64
Tags: VBA 断开网络连接 代码

断开网络连接的代码:

Public Const RAS_MAXENTRYNAME As Integer = 256
Public Const RAS_MAXDEVICETYPE As Integer = 16

Public Const RAS_MAXDEVICENAME As Integer = 128

Public Const RAS_RASCONNSIZE As Integer = 412
Public 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

Sub Test() ''调用断开过程:

Call HangUp

End Sub

装个防火墙就带这个功能,要不就按下边的代码生敲吧!
Public Const RAS_MAXENTRYNAME As Integer = 256
Public Const RAS_MAXDEVICETYPE As Integer = 16

Public Const RAS_MAXDEVICENAME As Integer = 128

Public Const RAS_RASCONNSIZE As Integer = 412
Public 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

Sub Test() ''调用断开过程:

Call HangUp

End Sub