Buenas, tenga esta inquietud.
Para poder detectar si tengo o no internet uso la libreria Sensapi.dll
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
Para poder detectar si tengo o no internet uso la libreria Sensapi.dll
Código (vb) [Seleccionar]
Option Explicit
'Constantes para determinar que tipo de Red estamos conectados
Const NETWORK_ALIVE_AOL = &H4
Const NETWORK_ALIVE_LAN = &H1
Const NETWORK_ALIVE_WAN = &H2
Private Declare Function IsNetworkAlive Lib "SENSAPI.DLL" (ByRef lpdwFlags As Long) As Long
Private Sub Timer1_Timer()
Dim Ret As Long
'Si la Api retorna 0 quiere decir que no hay ningun tipo de conexion de Red
If IsNetworkAlive(Ret) = 0 Then
Label1 = "No hay"
Else
Label1 = "Si hay"
End If
End Sub
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