Determinare lo stato di connessione del sistema locale e come avviare o terminare una connessione Internet usando Visual Basic .NET o Visual Basic 2005
Questo articolo illustra come determinare lo stato di connessione del sistema locale e come avviare o terminare una connessione Internet usando Visual Basic .NET o Visual Basic 2005.
Versione originale del prodotto: Visual Studio
Numero KB originale: 821770
Riepilogo
Questo articolo dettagliato descrive come determinare lo stato connesso del sistema locale usando la InternetGetConnectedState
funzione fornita dall'API Microsoft Windows Internet (WinINet). Questo articolo descrive anche come avviare una connessione Internet e come terminare una connessione Internet usando la InternetDial
WinINet
funzione API e la InternetHangUp
WinINet
funzione API.
L'API WinINet
è un set di funzioni che consente alle applicazioni di interagire con Gopher, con FTP (File Transfer Protocol) e con HTTP (Hypertext Transfer Protocol) per accedere a molte risorse su Internet. La InternetGetConnectedState
funzione restituisce True o False in base all'esistenza di una connessione. Dopo una chiamata alla InternetGetConnectedState
funzione, il parametro lpdwFlags contiene un valore predefinito che fornisce altre informazioni sulla connessione. Ad esempio, il valore contenuto da IpdwFlags può indicare che la connessione è una connessione lan,una connessione modem o un altro tipo di connessione. È possibile dedurre se la connessione esiste dal valore restituito della InternetGetConnectedState
funzione.
Quando la chiamata di InternetGetconnectionState
funzione restituisce True, esiste una connessione di rete. Ciò non garantisce tuttavia l'accesso ai dati o l'accesso ai siti Web attraverso la rete.
La InternetDial
funzione avvia una connessione a Internet tramite un modem. Il parametro lpszConnectoid specifica il nome della connessione dial-up usata dalla InternetDial
funzione. È possibile usare la InternetHangUp
WinINet
funzione API per indicare al modem di terminare la connessione specificata dal parametro dwConnection .
Esempio dettagliato
Avviare Microsoft Visual Studio .NET o Microsoft Visual Studio 2005.
Scegliere Nuovo dal menu File, quindi fare clic su Progetto.
In Tipi di progetto fare clic su Progetti di Visual Basic.
Nota
In Visual Studio 2005 fare clic su Visual Basic in Tipi di progetto.
In Modelli fare clic su Applicazione Windows.
Per impostazione predefinita, viene creato Form1.
Fare clic con il pulsante destro del mouse su Form1 e quindi scegliere Visualizza codice.
Aggiungere le istruzioni di dichiarazione seguenti alla 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
Scegliere Designer dal menu Visualizza.
Aggiungere un controllo Button a Form1.
Fare clic con il pulsante destro del mouse su Button1 e quindi scegliere Proprietà.
Nel Finestra Proprietà modificare la proprietà Text del controllo Button1 in Rileva connessione.
Fare doppio clic su Rileva connessione e quindi aggiungere il codice seguente nel gestore eventi 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
Aggiungere un altro controllo Button a Form1.
Fare clic con il pulsante destro del mouse su Button2 e quindi scegliere Proprietà.
Nel Finestra Proprietà modificare la proprietà Text del controllo Button2 in Dial Up.
Fare doppio clic su Dial Up e quindi aggiungere il codice seguente nel gestore eventi 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
Nota
Sostituire Connessione personale con il nome della connessione dial-up nel computer.
Aggiungere un altro controllo Button a Form1.
Fare clic con il pulsante destro del mouse su Button3 e quindi scegliere Proprietà.
Nella Finestra Proprietà modificare la proprietà Text del controllo Button3 in Blocca.
Fare doppio clic su Blocca e quindi aggiungere il codice seguente nel gestore eventi 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
Scegliere Salva tutto dal menu File per salvare il progetto.
Scegliere Avvia dal menu Debug per eseguire l'applicazione.
Verificare che tt funzioni
Eseguire l'applicazione creata nella sezione Esempio dettagliato di questo articolo.
Viene visualizzato Il modulo 1.
Fare clic su Rileva connessione e quindi notare lo stato connesso corrente del computer locale.
Fare clic su Composizione.
Viene visualizzata la finestra di dialogo connessione con connessione telefonica.
Fare clic su Blocca.
Termina la connessione Internet stabilita nel passaggio 3.
Riferimenti
Per altre informazioni, visitare i siti Web seguenti:
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per