Déterminer l’état de connexion de votre système local et comment lancer ou mettre fin à une connexion Internet à l’aide de Visual Basic .NET ou Visual Basic 2005

Cet article explique comment déterminer l’état de connexion de votre système local et comment lancer ou mettre fin à une connexion Internet à l’aide de Visual Basic .NET ou Visual Basic 2005.

Version de produit d’origine : Visual Studio
Numéro de la base de connaissances d’origine : 821770

Résumé

Cet article pas à pas explique comment déterminer l’état connecté de votre système local à l’aide de la InternetGetConnectedState fonction que fournit l’API Microsoft Windows Internet (WinINet). Cet article explique également comment lancer une connexion Internet et comment mettre fin à une connexion Internet à l’aide de la InternetDialWinINet fonction API et de la InternetHangUpWinINet fonction API.

L’API WinINet est un ensemble de fonctions qui permet aux applications d’interagir avec Gopher, ftp (File Transfer Protocol) et HTTP (Hypertext Transfer Protocol) pour accéder à de nombreuses ressources sur Internet. La InternetGetConnectedState fonction retourne True ou False en fonction de l’existence ou non d’une connexion. Après un appel à la InternetGetConnectedState fonction, le paramètre lpdwFlags contient une valeur prédéfinie qui fournit plus d’informations sur la connexion. Par exemple, la valeur que contient IpdwFlags peut indiquer que la connexion est une connexion de réseau local (LAN), une connexion de modem ou un autre type de connexion. Vous pouvez déduire si la connexion existe à partir de la valeur de retour de la InternetGetConnectedState fonction.

Lorsque l’appel de InternetGetconnectionState fonction retourne la valeur True, une connexion réseau existe. Toutefois, cela ne garantit pas que vous avez accès aux données ou que vous avez accès à des sites Web sur le réseau.

La InternetDial fonction initie une connexion à Internet à l’aide d’un modem. Le paramètre lpszConnectoid spécifie le nom de la connexion d’accès à distance utilisée par la InternetDial fonction. Vous pouvez utiliser la InternetHangUpWinINet fonction API pour indiquer au modem de mettre fin à la connexion spécifiée par le paramètre dwConnection .

Exemple pas à pas

  1. Démarrez Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005.

  2. On the File menu, point to New, and then click Project.

  3. Sous Types de projets, cliquez sur Projets Visual Basic.

    Remarque

    Dans Visual Studio 2005, cliquez sur Visual Basic sous Types de projets.

  4. Sous Modèles, cliquez sur Application Windows.

    Par défaut, Form1 est créé.

  5. Cliquez avec le bouton droit sur Form1, puis cliquez sur Afficher le code.

  6. Ajoutez les instructions de déclaration suivantes à la classe Form1 :

    Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Int32, _
    ByVal dwReserved As Int32) As Boolean
    
    Private Declare Function InternetDial Lib "Wininet.dll" (ByVal hwndParent As IntPtr, _
    ByVal lpszConnectoid As String, ByVal dwFlags As Int32, ByRef lpdwConnection As Int32, _
    ByVal dwReserved As Int32) As Int32
    
    Private Declare Function InternetHangUp Lib "Wininet.dll" _
    (ByVal lpdwConnection As Int32, ByVal dwReserved As Int32) As Int32
    
    Private Enum Flags As Integer
     'Local system uses a LAN to connect to the Internet.
     INTERNET_CONNECTION_LAN = &H2
     'Local system uses a modem to connect to the Internet.
     INTERNET_CONNECTION_MODEM = &H1
     'Local system uses a proxy server to connect to the Internet.
     INTERNET_CONNECTION_PROXY = &H4
     'Local system has RAS installed.
     INTERNET_RAS_INSTALLED = &H10
    End Enum
    
    'Declaration Used For InternetDialUp.
    Private Enum DialUpOptions As Integer
     INTERNET_DIAL_UNATTENDED = &H8000
     INTERNET_DIAL_SHOW_OFFLINE = &H4000
     INTERNET_DIAL_FORCE_PROMPT = &H2000
    End Enum
    
    Private Const ERROR_SUCCESS = &H0
    Private Const ERROR_INVALID_PARAMETER = &H87
    
    Private mlConnection As Int32
    
  7. Dans le menu Affichage, cliquez sur Designer.

  8. Ajoutez un contrôle Button à Form1.

  9. Cliquez avec le bouton droit sur Button1, puis cliquez sur Propriétés.

  10. Dans le Fenêtre Propriétés, remplacez la propriété Text du contrôle Button1 par Détecter la connexion.

  11. Double-cliquez sur Détecter la connexion, puis ajoutez le code suivant dans le gestionnaire d’événements Button1_Click :

    Dim lngFlags As Long
    
    If InternetGetConnectedState(lngFlags, 0) Then
        'connected.
        If lngFlags And Flags.INTERNET_CONNECTION_LAN Then
            'LAN connection.
            MsgBox("LAN connection.")
        ElseIf lngFlags And Flags.INTERNET_CONNECTION_MODEM Then
            'Modem connection.
            MsgBox("Modem connection.")
        ElseIf lngFlags And Flags.INTERNET_CONNECTION_PROXY Then
            'Proxy connection.
            MsgBox("Proxy connection.")
        End If
    Else
        'not connected.
        MsgBox("Not connected.")
    End If
    
  12. Ajoutez un autre contrôle Button à Form1.

  13. Cliquez avec le bouton droit sur Button2, puis cliquez sur Propriétés.

  14. Dans le Fenêtre Propriétés, remplacez la propriété Text du contrôle Button2 par Dial Up.

  15. Double-cliquez sur Numérotation, puis ajoutez le code suivant dans le gestionnaire d’événements Button2_Click :

    Dim DResult As Int32
    
    DResult = InternetDial(Me.Handle, "My Connection", DialUpOptions.INTERNET_DIAL_FORCE_PROMPT, mlConnection, 0)
    
    If (DResult = ERROR_SUCCESS) Then
        MessageBox.Show("Dial Up Successful", "Dial-Up Connection")
    Else
        MessageBox.Show("UnSuccessFull Error Code" & DResult, "Dial-Up Connection")
    End If
    

    Remarque

    Remplacez Ma connexion par le nom de la connexion d’accès à distance sur votre ordinateur.

  16. Ajoutez un autre contrôle Button à Form1.

  17. Cliquez avec le bouton droit sur Button3, puis cliquez sur Propriétés.

  18. Dans le Fenêtre Propriétés, modifiez la propriété Text du contrôle Button3 sur Raccrocher.

  19. Double-cliquez sur Raccrocher, puis ajoutez le code suivant dans le gestionnaire d’événements Button3_Click :

    Dim Result As Int32
    
    If Not (mlConnection = 0) Then
        Result = InternetHangUp(mlConnection, 0&)
        If Result = 0 Then
            MessageBox.Show("Hang up successful", "Hang Up Connection")
        Else
            MessageBox.Show("Hang up NOT successful", "Hang Up Connection")
        End If
    Else
        MessageBox.Show("You must dial a connection first!", "Hang Up Connection")
    End If
    
  20. Dans le menu Fichier , cliquez sur Enregistrer tout pour enregistrer le projet.

  21. Dans le menu Déboguer , cliquez sur Démarrer pour exécuter l’application.

Vérifier que tt fonctionne

  1. Exécutez l’application que vous avez créée dans la section Exemple pas à pas de cet article.

    Form1 s’affiche.

  2. Cliquez sur Détecter la connexion, puis notez l’état connecté actuel de votre ordinateur local.

  3. Cliquez sur Composer vers le haut.

    La boîte de dialogue connexion d’accès à distance s’affiche.

  4. Cliquez sur Raccrocher.

    La connexion Internet que vous avez établie à l’étape 3 se termine.

References

Pour plus d’informations, visitez les sites Web suivants :