Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
Starten Sie Microsoft Visual Studio .NET oder Microsoft Visual Studio 2005.
Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.
Klicken Sie unter Projekttypen auf Visual Basic-Projekte.
Notiz
Klicken Sie in Visual Studio 2005 unter Projekttypen auf Visual Basic.
Klicken Sie unter "Vorlagen" auf "Windows-Anwendung".
Standardmäßig wird Form1 erstellt.
Klicken Sie mit der rechten Maustaste auf "Formular1", und klicken Sie dann auf "Code anzeigen".
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
Klicken Sie im Menü "Ansicht" auf "Designer".
Hinzufügen eines Schaltflächen-Steuerelements zu Form1.
Klicken Sie mit der rechten Maustaste auf Schaltfläche1, und klicken Sie dann auf "Eigenschaften".
Ändern Sie im Eigenschaftenfenster die Text-Eigenschaft des Button1-Steuerelements, um die Verbindung zu erkennen.
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
Fügen Sie formular1 ein weiteres Schaltflächensteuerelement hinzu.
Klicken Sie mit der rechten Maustaste auf Schaltfläche2, und klicken Sie dann auf "Eigenschaften".
Ändern Sie in der Eigenschaftenfenster die Text-Eigenschaft des Button2-Steuerelements in "Dial Up".
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.
Fügen Sie formular1 ein weiteres Schaltflächensteuerelement hinzu.
Klicken Sie mit der rechten Maustaste auf Schaltfläche3, und klicken Sie dann auf "Eigenschaften".
Ändern Sie im Eigenschaftenfenster die Text-Eigenschaft des Button3-Steuerelements in "Auflegen".
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
Klicken Sie im Menü Datei auf Alles speichern, um das Projekt zu speichern.
Klicken Sie im Menü "Debuggen " auf "Start ", um die Anwendung auszuführen.
Überprüfen, ob tt funktioniert
Führen Sie die Anwendung aus, die Sie im Abschnitt "Schritt-für-Schritt-Beispiel " dieses Artikels erstellt haben.
Formular1 wird angezeigt.
Klicken Sie auf "Verbindung erkennen", und beachten Sie dann den aktuellen Verbindungsstatus Ihres lokalen Computers.
Klicken Sie auf "DFÜ".
Das Dialogfeld für die DFÜ-Verbindung wird angezeigt.
Klicken Sie auf "Auflegen".
Die Internetverbindung, die Sie in Schritt 3 eingerichtet haben, endet.
References
Weitere Informationen finden Sie auf den folgenden Websites: