Connection et déconnection internet

Description

Une Form
Un Module

2 CommandBouton Command1(Command1.caption="Connection") et Command2(Command2.caption="DéConnection")

Source / Exemple :


'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

Conclusion :


'lResult = InternetAutodial(2, 0&) 'connection auto
'lResult = InternetAutodial(1, 0&) 'connection non auto
InternetDeconnexion 'Déconnection

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.