Freigeben über


Ermitteln des Verbindungszustands Ihres lokalen Systems und Zum Initiieren oder Beenden einer Internetverbindung mithilfe von Visual Basic .NET oder Visual Basic 2005

In diesem Artikel wird erläutert, wie Sie den Verbindungsstatus Ihres lokalen Systems bestimmen und wie Sie eine Internetverbindung mithilfe von Visual Basic .NET oder Visual Basic 2005 initiieren oder beenden.

Originalproduktversion: Visual Studio
Ursprüngliche KB-Nummer: 821770

Übersicht

In diesem schrittweisen Artikel wird beschrieben, wie Sie den verbundenen Zustand Ihres lokalen Systems mithilfe der InternetGetConnectedState Funktion ermitteln, die die Microsoft Windows Internet (WinINet)-API bereitstellt. In diesem Artikel wird auch beschrieben, wie Sie eine Internetverbindung initiieren und eine Internetverbindung mithilfe der InternetDial WinINet API-Funktion und mithilfe der InternetHangUp WinINet API-Funktion beenden.

Die WinINet API ist eine Reihe von Funktionen, mit denen Anwendungen mit Gopher, mit FTP (File Transfer Protocol) und mit Hypertext Transfer Protocol (HTTP) interagieren können, um auf viele Ressourcen im Internet zuzugreifen. Die InternetGetConnectedState Funktion gibt True oder False zurück, je nachdem, ob eine Verbindung vorhanden ist. Nach einem Aufruf der InternetGetConnectedState Funktion enthält der lpdwFlags-Parameter einen vordefinierten Wert, der weitere Informationen zur Verbindung bereitstellt. Beispielsweise kann der Wert, den IpdwFlags enthält, angeben, dass es sich bei der Verbindung um eine LAN-Verbindung (Local Area Network), eine Modemverbindung oder einen anderen Verbindungstyp handelt. Sie können ableiten, ob eine Verbindung vom Rückgabewert der InternetGetConnectedState Funktion vorhanden ist.

Wenn der InternetGetconnectionState Funktionsaufruf True zurückgibt, ist eine Netzwerkverbindung vorhanden. Dies garantiert jedoch nicht, dass Sie Zugriff auf Daten haben oder Zugriff auf Websites im gesamten Netzwerk haben.

Die InternetDial Funktion initiiert eine Internetverbindung mithilfe eines Modems. Der parameter lpszConnectoid gibt den Namen der von der InternetDial Funktion verwendeten DFÜ-Verbindung an. Sie können die InternetHangUp WinINet API-Funktion verwenden, um das Modem anzuweisen, die Verbindung zu beenden, die der dwConnection-Parameter angibt.

Schritt-für-Schritt-Beispiel

  1. Starten Sie Microsoft Visual Studio .NET oder Microsoft Visual Studio 2005.

  2. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.

  3. Klicken Sie unter Projekttypen auf Visual Basic-Projekte.

    Notiz

    Klicken Sie in Visual Studio 2005 unter Projekttypen auf Visual Basic.

  4. Klicken Sie unter "Vorlagen" auf "Windows-Anwendung".

    Standardmäßig wird Form1 erstellt.

  5. Klicken Sie mit der rechten Maustaste auf "Formular1", und klicken Sie dann auf "Code anzeigen".

  6. Fügen Sie der Form1-Klasse die folgenden Deklarationsanweisungen hinzu:

    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. Klicken Sie im Menü "Ansicht" auf "Designer".

  8. Hinzufügen eines Schaltflächen-Steuerelements zu Form1.

  9. Klicken Sie mit der rechten Maustaste auf Schaltfläche1, und klicken Sie dann auf "Eigenschaften".

  10. Ändern Sie im Eigenschaftenfenster die Text-Eigenschaft des Button1-Steuerelements, um die Verbindung zu erkennen.

  11. Doppelklicken Sie auf " Verbindung erkennen", und fügen Sie dann den folgenden Code im Button1_Click Ereignishandler hinzu:

    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. Fügen Sie formular1 ein weiteres Schaltflächensteuerelement hinzu.

  13. Klicken Sie mit der rechten Maustaste auf Schaltfläche2, und klicken Sie dann auf "Eigenschaften".

  14. Ändern Sie in der Eigenschaftenfenster die Text-Eigenschaft des Button2-Steuerelements in "Dial Up".

  15. Doppelklicken Sie auf "DFÜ", und fügen Sie dann den folgenden Code im Button2_Click Ereignishandler hinzu:

    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
    

    Notiz

    Ersetzen Sie "Meine Verbindung " durch den Namen der DFÜ-Verbindung auf Ihrem Computer.

  16. Fügen Sie formular1 ein weiteres Schaltflächensteuerelement hinzu.

  17. Klicken Sie mit der rechten Maustaste auf Schaltfläche3, und klicken Sie dann auf "Eigenschaften".

  18. Ändern Sie im Eigenschaftenfenster die Text-Eigenschaft des Button3-Steuerelements in "Auflegen".

  19. Doppelklicken Sie auf "Auflegen", und fügen Sie dann den folgenden Code im Button3_Click Ereignishandler hinzu:

    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. Klicken Sie im Menü Datei auf Alles speichern, um das Projekt zu speichern.

  21. Klicken Sie im Menü "Debuggen " auf "Start ", um die Anwendung auszuführen.

Überprüfen, ob tt funktioniert

  1. Führen Sie die Anwendung aus, die Sie im Abschnitt "Schritt-für-Schritt-Beispiel " dieses Artikels erstellt haben.

    Formular1 wird angezeigt.

  2. Klicken Sie auf "Verbindung erkennen", und beachten Sie dann den aktuellen Verbindungsstatus Ihres lokalen Computers.

  3. Klicken Sie auf "DFÜ".

    Das Dialogfeld für die DFÜ-Verbindung wird angezeigt.

  4. Klicken Sie auf "Auflegen".

    Die Internetverbindung, die Sie in Schritt 3 eingerichtet haben, endet.

References

Weitere Informationen finden Sie auf den folgenden Websites: