Ermitteln sie den Verbindungsstatus Ihres lokalen Systems und das 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 ermitteln und eine Internetverbindung mithilfe von Visual Basic .NET oder Visual Basic 2005 initiieren oder beenden.
Ursprüngliche Produktversion: Visual Studio
Ursprüngliche KB-Nummer: 821770
Zusammenfassung
In diesem Schritt-für-Schritt-Artikel wird beschrieben, wie Sie den verbundenen Status Ihres lokalen Systems mithilfe der InternetGetConnectedState Funktion ermitteln, die die WinINet-API (Microsoft Windows Internet) bereitstellt. In diesem Artikel wird auch beschrieben, wie Sie eine Internetverbindung initiieren und eine Internetverbindung mithilfe der InternetDial WinINet API-Funktion und der InternetHangUp WinINet API-Funktion beenden.
Die WinINet API ist eine Reihe von Funktionen, mit denen Anwendungen mit Gopher, mit file transfer protocol (FTP) 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 nach dem, ob eine Verbindung vorhanden ist. Nach einem Aufruf der InternetGetConnectedState Funktion enthält der Parameter lpdwFlags einen vordefinierten Wert, der weitere Informationen zur Verbindung bereitstellt. Beispielsweise kann der Wert, den IpdwFlags enthält, darauf hinweisen, dass es sich bei der Verbindung um eine LAN-Verbindung (Local Area Network), eine Modemverbindung oder einen anderen Verbindungstyp handelt. Sie können anhand des Rückgabewerts der InternetGetConnectedState Funktion ableiten, ob eine Verbindung 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 über ein Modem. 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 vom Parameter dwConnection angegebene Verbindung zu beenden.
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 Project Typen auf Visual Basic Projekte.
Hinweis
Klicken Sie in Visual Studio 2005 unter Project Typen 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 Int32Klicken Sie im Menü "Ansicht" auf "Designer".
Fügen Sie formular1 ein Schaltflächensteuerelement hinzu.
Klicken Sie mit der rechten Maustaste auf "Schaltfläche1", und klicken Sie dann auf "Eigenschaften".
Ändern Sie in der 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 IfFü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 "Einwählen".
Doppelklicken Sie auf "Einwählen", 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 IfHinweis
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 Button3, und klicken Sie dann auf "Eigenschaften".
Ändern Sie in der 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 IfKlicken Sie im Menü "Datei " auf "Alle speichern ", um das Projekt zu speichern.
Klicken Sie im Menü "Debuggen " auf " Start ", um die Anwendung auszuführen.
Sicherstellen, dass tt funktioniert
Führen Sie die Anwendung aus, die Sie im Abschnitt " Schritt-für-Schritt-Beispiel " dieses Artikels erstellt haben.
Form1 wird angezeigt.
Klicken Sie auf "Verbindung erkennen", und beachten Sie dann den aktuellen verbundenen Zustand Ihres lokalen Computers.
Klicken Sie auf "Einwählen".
Das Dialogfeld "DFÜ-Verbindung" wird angezeigt.
Klicken Sie auf Auflegen.
Die Internetverbindung, die Sie in Schritt 3 hergestellt haben, endet.
References
Weitere Informationen finden Sie auf den folgenden Websites: