Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: YAcosta en 18 Noviembre 2018, 08:34 am



Título: Saber si existe conexión a Internet
Publicado por: YAcosta en 18 Noviembre 2018, 08:34 am
Buenas, tenga esta inquietud.

Para poder detectar si tengo o no internet uso la libreria Sensapi.dll
Código
  1. Option Explicit
  2.  
  3. 'Constantes para determinar que tipo de Red estamos conectados
  4. Const NETWORK_ALIVE_AOL = &H4
  5. Const NETWORK_ALIVE_LAN = &H1
  6. Const NETWORK_ALIVE_WAN = &H2
  7.  
  8. Private Declare Function IsNetworkAlive Lib "SENSAPI.DLL" (ByRef lpdwFlags As Long) As Long
  9.  
  10. Private Sub Timer1_Timer()
  11. Dim Ret As Long
  12.  
  13. 'Si la Api retorna 0 quiere decir que no hay ningun tipo de conexion de Red
  14. If IsNetworkAlive(Ret) = 0 Then
  15.   Label1 = "No hay"
  16. Else
  17.   Label1 = "Si hay"
  18. End If
  19. End Sub
  20.  

Esto lo ejecuto desde una maquina virtual con conexión a internet, el timer esta con intervalo 2000 y realizo las siguientes pruebas las cuales describo paso a paso:

Ejecuto el programa y no lo detengo

Obtengo el mensaje "Si hay":  CORRECTO
Dentro de Windows deshabilito la red y el programa indica "No hay": CORRECTO
Lo vuelvo a habilitar y obtengo un "Si hay": CORRECTO
A la maquina virtual le quito la red y obtengo "No hay":  CORRECTO
Lo vuelvo a activar y obtengo "Si hay":  CORRECTO
En ese momento me voy al router y lo apago y el programa cambia a "No hay".  CORRECTO
Hasta aqui Bingo pero...

Con el router apagado voy al programa y lo detengo, lo vuelvo a ejecutar y obtengo un "Si hay" pero el router está apagado!!!

¿porque sucede esto estimados?

Quedo a la espera de sus comentarios, muchas gracias



Título: Re: Saber si existe conexión a Internet
Publicado por: YAcosta en 18 Noviembre 2018, 18:32 pm
ya chequee que esta libreria no necesariamente me va a decir si hay o no internet, me dira el tipo de conexion si pero eso no necesito.

Un amigo me recomendo hacer ping a una pagina, voy a ir por ese camino.

Gracias, salvo mejor idea estare atento.

Saludos