Determinar el estado de conexión del sistema local y cómo iniciar o finalizar una conexión a Internet mediante Visual Basic .NET o Visual Basic 2005
En este artículo se muestra cómo determinar el estado de conexión del sistema local y cómo iniciar o finalizar una conexión a Internet mediante Visual Basic .NET o Visual Basic 2005.
Versión del producto original: Visual Studio
Número de KB original: 821770
Resumen
En este artículo paso a paso se describe cómo determinar el estado conectado del sistema local mediante la InternetGetConnectedState
función que proporciona la API de Microsoft Windows Internet (WinINet). En este artículo también se describe cómo iniciar una conexión a Internet y cómo finalizar una conexión a Internet mediante la InternetDial
WinINet
función de API y mediante la InternetHangUp
WinINet
función de API.
La WinINet
API es un conjunto de funciones que permite a las aplicaciones interactuar con Gopher, con el protocolo de transferencia de archivos (FTP) y con el protocolo de transferencia de hipertexto (HTTP) para acceder a muchos recursos en Internet. La InternetGetConnectedState
función devuelve True o False en función de si existe una conexión. Después de una llamada a la InternetGetConnectedState
función, el parámetro lpdwFlags contiene un valor predefinido que proporciona más información sobre la conexión. Por ejemplo, el valor que contiene IpdwFlags puede indicar que la conexión es una conexión de red de área local (LAN), una conexión de módem u otro tipo de conexión. Puede deducir si existe la conexión desde el valor devuelto de la InternetGetConnectedState
función.
Cuando la llamada a la InternetGetconnectionState
función devuelve True, existe una conexión de red. Sin embargo, esto no garantiza que tenga acceso a datos o que tenga acceso a sitios web a través de la red.
La InternetDial
función inicia una conexión a Internet mediante un módem. El parámetro lpszConnectoid especifica el nombre de la conexión de acceso telefónico local que usa la InternetDial
función. Puede usar la InternetHangUp
WinINet
función de API para indicar al módem que finalice la conexión que especifica el parámetro dwConnection .
Ejemplo paso a paso
Inicie Microsoft Visual Studio .NET o Microsoft Visual Studio 2005.
En el menú Archivo, elija Nuevo y, a continuación, haga clic en Proyecto.
En Tipos de proyecto, haga clic en Proyectos de Visual Basic.
Nota:
En Visual Studio 2005, haga clic en Visual Basic en Tipos de proyecto.
En Plantillas, haga clic en Aplicación de Windows.
De forma predeterminada, se crea Form1.
Haga clic con el botón derecho en Form1 y, a continuación, haga clic en Ver código.
Agregue las siguientes instrucciones de declaración a la clase 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
En el menú Ver, haga clic en Designer.
Agregue un control Button a Form1.
Haga clic con el botón derecho en Button1 y, a continuación, haga clic en Propiedades.
En el ventana Propiedades, modifique la propiedad Text del control Button1 para Detectar conexión.
Haga doble clic en Detectar conexión y agregue el código siguiente en el controlador de eventos 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
Agregue otro control Button a Form1.
Haga clic con el botón derecho en Button2 y, a continuación, haga clic en Propiedades.
En el ventana Propiedades, cambie la propiedad Text del control Button2 a Dial Up (Marcar hacia arriba).
Haga doble clic en Marcar hacia arriba y, a continuación, agregue el código siguiente en el controlador de eventos 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:
Reemplace Mi conexión por el nombre de la conexión de acceso telefónico local en el equipo.
Agregue otro control Button a Form1.
Haga clic con el botón derecho en Button3 y, a continuación, haga clic en Propiedades.
En el ventana Propiedades, modifique la propiedad Text del control Button3 para que se cuelgue.
Haga doble clic en Cuelgue y agregue el código siguiente en el controlador de eventos 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
En el menú Archivo , haga clic en Guardar todo para guardar el proyecto.
En el menú Depurar , haga clic en Iniciar para ejecutar la aplicación.
Comprobación de que tt funciona
Ejecute la aplicación que creó en la sección Ejemplo paso a paso de este artículo.
Se muestra Form1.
Haga clic en Detectar conexión y, a continuación, observe el estado conectado actual del equipo local.
Haga clic en Marcar hacia arriba.
Se muestra el cuadro de diálogo de conexión de acceso telefónico local.
Haga clic en Cuelgue.
Finaliza la conexión a Internet que estableció en el paso 3.
Referencias
Para obtener más información, visite los siguientes sitios web:
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de