VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 断开与 Internet 的连接
发表评论(0)作者:, 平台:, 阅读:10238, 日期:2000-03-12


主題: 如何中断【拨号网络连接】?

來源:James Limm

版本:VB6 / VB5 / VB4-32






要在 VB 程序中中断【拨号网络连接】,可以使用 Remote Access Services Hangup 函数:


'在模块的声明区中加入以下声明及模块:


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

'在程序中使用实例为

Call HangUp