Averiguar si esta conectado a internet

Iniciado por Wdeah, 16 Febrero 2006, 09:07 AM

0 Miembros y 1 Visitante están viendo este tema.

Wdeah

hola, de que manera puedo averiguar si la persona que este ejecutando mi programa esta conectada a internet?
gracias

NYlOn

'Example by Vijay Phulwadhawa (vijaycg44@hotmail.com)
Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Long
Private Sub Form_Load()
    MsgBox "Is connected to the internet: " + CStr(IsConnected)
End Sub
Public Function IsConnected() As Boolean
    If InternetGetConnectedState(0&, 0&) = 1 Then
        IsConnected = True
    Else
        IsConnected = False
    End If
End Function


BenRu

Tambien puedes hacerlo con el control winsock... ;)

Wdeah

Cita de: NYlOn en 16 Febrero 2006, 16:04 PM
'Example by Vijay Phulwadhawa (vijaycg44@hotmail.com)
Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Long
Private Sub Form_Load()
    MsgBox "Is connected to the internet: " + CStr(IsConnected)
End Sub
Public Function IsConnected() As Boolean
    If InternetGetConnectedState(0&, 0&) = 1 Then
        IsConnected = True
    Else
        IsConnected = False
    End If
End Function



Hola, el codigo funciona, pero lo que me dice es si la conexion ADSL esta establecida, no si estoy conectado a internet o no :S

como seria eso del winsock ?
muchas gracias por preocuparse.

NYlOn

CitarHola, el codigo funciona, pero lo que me dice es si la conexion ADSL esta establecida, no si estoy conectado a internet o no :S

Si la conexion ADSL esta establecida, estas conectado a internet ???

No se que es lo que necesitas, por favor explicate mejor.-

Wdeah

hola, mira en mi caso, que tengo conexion ADSL cuando prendo la pc, el modem se conecta con mi provedor de internet, una ves que se conecta el modem, no estoy conectado a internet, y el codigo me dice que si lo estoy..
se entiende bien?
gracias

Kizar

Pues podrias comprobar si tu ip es diferente de 127.0.0.1 supongo k estaras conectado.

Salu2

kuki06

se complican la vida muchachos..
necesitamos: 1 winsock y un label y el codigo en el form load

Private sub form_load()
If winsock1.Localip = "127.0.0.1" Then
Label1.caption = "No estas conectado a internet
Else
Label1.caption = "si estas conectado a internet
End if
End sub

MazarD

Lo de mirar si la ip actual es 127.0.0.1 no es nada fiable, yo puedo tener cualquier ip que me dé la gana asignada o simplemente estando detrás de un router ya no será esa.

Tienes varios métodos:
1.-HKEY_LOCAL_MACHINE\system\currentcontrolset\services\remoteaccess
Pero esto sólo funcionará si te conectas a través de modem.
2.-InternetGetConnectedState tiene el problema de que si estás en LAN y conectandote a través de modem no funcionará.
3.-Hacer ping o intentar conectar a una web. Que lógicamente funciona siempre aunque es un poco cutre.

No hay más. Saludos
-Learn as if you were to live forever, live as if you were to die tomorrow-

http://www.mazard.info
http://twitter.com/MazarD
irc://irc.freenode.org/elhacker.net