- 'Dans Module:
- '=============
- Public Declare Function InternetAutodial Lib "wininet.dll" (ByVal dwFlags As Long, ByVal dwReserved As Long) As Long
- Private Declare Function RasEnumConnections Lib "rasapi32.dll" Alias "RasEnumConnectionsA" (lpRasConn As Any, lpcb As Long, lpcConnections As Long) As Long
- Private Declare Function RasHangUp Lib "rasapi32.dll" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long
-
- Private Const ERROR_SUCCESS = 0&
-
- Private Const RAS_MAXENTRYNAME As Integer = 256
- Private Const RAS_MAXDEVICETYPE As Integer = 16
- Private Const RAS_MAXDEVICENAME As Integer = 128
- Private Const RAS_RASCONNSIZE As Integer = 412
-
- Private ReturnCode As Long
- Public gstrISPName As String
-
- Private Type RasEntryName
- dwSize As Long
- szEntryName(RAS_MAXENTRYNAME) As Byte
- End Type
- 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
-
-
- 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
-
- Public Sub InternetDeconnexion()
-
- 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
-
-
-
-
-
-
-
-
- 'Dans Form:
- '==========
- Private Sub Command1_Click()
- Dim lResult As Long
- lResult = InternetAutodial(2, 0&) 'connection auto
- 'lResult = InternetAutodial(1, 0&) 'connection non auto
- End Sub
-
- Private Sub Command2_Click()
- InternetDeconnexion
- End Sub
'Dans Module:
'=============
Public Declare Function InternetAutodial Lib "wininet.dll" (ByVal dwFlags As Long, ByVal dwReserved As Long) As Long
Private Declare Function RasEnumConnections Lib "rasapi32.dll" Alias "RasEnumConnectionsA" (lpRasConn As Any, lpcb As Long, lpcConnections As Long) As Long
Private Declare Function RasHangUp Lib "rasapi32.dll" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long
Private Const ERROR_SUCCESS = 0&
Private Const RAS_MAXENTRYNAME As Integer = 256
Private Const RAS_MAXDEVICETYPE As Integer = 16
Private Const RAS_MAXDEVICENAME As Integer = 128
Private Const RAS_RASCONNSIZE As Integer = 412
Private ReturnCode As Long
Public gstrISPName As String
Private Type RasEntryName
dwSize As Long
szEntryName(RAS_MAXENTRYNAME) As Byte
End Type
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
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
Public Sub InternetDeconnexion()
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
'Dans Form:
'==========
Private Sub Command1_Click()
Dim lResult As Long
lResult = InternetAutodial(2, 0&) 'connection auto
'lResult = InternetAutodial(1, 0&) 'connection non auto
End Sub
Private Sub Command2_Click()
InternetDeconnexion
End Sub