Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-06-2004
jorch_yr jorch_yr is offline
Miembro
 
Registrado: ago 2003
Posts: 26
Poder: 0
jorch_yr Va por buen camino
Solucion al tema de saber si estoy o no conectado a internet

HOLA A TODOS!!!

Este hilo trata de explicar bien como se hace para detectar si se esta o no conectado a internet. Ya e visto muchos mensajes preguntado lo mismo y gente que tiene problemas porque no les funciona el codigo poruqe les dice que esta conectados cuando no lo estas o por otra rason.

Bueno aca les va el codigo:
Código Delphi [-]
uses WinInet;

procedure TForm1.Button1Click(Sender: TObject);
var conectado:boolean;
begin
conectado:= internetgetconnectedstate(0,0);
label1.Visible:=true;

if conectado then
begin
label1.Caption:='SI';
end
else
begin
label1.Caption:='NO';
end;
end;

Bien haora si no les funciona correctamente es por lo siguiente:
NO TIENE CONFIGURADO EL INTERNET ESPLORER PARA QUE MARQUE LA CONEXION PREDETERMINADA. para activarla tien que hacer los suiguente:
1) Ir al menu herramientas
2) Click en Opciones de internet
3) Ir a la solapa conexion
4) Selecionar "Marca siempre la conexion predeterminada"

Otra forma de hacer lo mismo es atraves del regristro de windows: Inicio -> Ejecutar : regedit
luego bayan a la clave: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings y cabien el valor de EnableAutodial a 0X00000001 (osea a 1)

Tb. lo pueden hacer desde delphi asi:
Código Delphi [-]
uses registry;

var
 Registro : Tregestry;
begin
     Registro := TRegistry.Create;
    Registro.RootKey := HKEY_CURRENT_USER;
    if Registro.OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings', False) then
       begin
       Registro.WriteInteger('EnableAutodial',1);
       Registro.CloseKey;
       Registro.Destroy;
       end;
end;

Bien creo que no hay perdida y que esta todo explicado tb espero aver solucionada las dudas de muchos y que les sirva de ayuda.
En muchas ocaciones que se pregunto eto y se repodio con este codigo a algunos no les funciono porque no tenian configurado el internet explorer.
Probado en: Win98 y XP con coneccion ADSL y Dial-UP y creo (no estoy seguro) que funciona tb cuando se compare el internet en una red si aguien save si funciona que me abise por este hilo.

Saludos

JoRcH YR
Responder Con Cita
  #2  
Antiguo 05-06-2004
JCR JCR is offline
Miembro
 
Registrado: abr 2004
Posts: 18
Poder: 0
JCR Va por buen camino
Hey! Muchas gracias, hacía un monton que estaba buscando esto. Ya había probado dos o tres codigos pero ninguno funcionaba, este funciona a la perfeccion.
Responder Con Cita
  #3  
Antiguo 10-09-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Poder: 20
MAXIUM Va camino a la fama
Vaya, por fin un método que funciona y de pasada confirmo que estos conectado a un Switch.

Cita:
InternetGetConnectedState: a partir de IE 4 se nos ofrece esta función que nos permite distinguir configuraciones típicas como conexión por módem o conexión vía LAN, aunque no gestiona bien configuraciones complejas como LAN + router con auto-marcado. Además, esta función es capaz de retornarnos el valor de la bandera "Trabajar sin conexión".
Debería estar en trucos y reemplazar los que tienen y no funciona.

Última edición por MAXIUM fecha: 10-09-2008 a las 05:04:13.
Responder Con Cita
  #4  
Antiguo 02-10-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Poder: 20
MAXIUM Va camino a la fama
Tambien hay que modificar la clave: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings y cambien el valor de NoNetAutodial a 0X00000000 (osea a 0)

Código Delphi [-]
uses registry;

var
 Registro : Tregistry;
begin
     Registro := TRegistry.Create;
     Registro.RootKey := HKEY_CURRENT_USER;
     if Registro.OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings', False) then
       begin
       Registro.WriteInteger('EnableAutodial',1);
       Registro.WriteInteger('NoNetAutodial',0);
       Registro.CloseKey;
       Registro.Free;
       end;
end;

Última edición por MAXIUM fecha: 02-10-2008 a las 01:15:02.
Responder Con Cita
  #5  
Antiguo 26-10-2008
Avatar de jt.logosoft
jt.logosoft jt.logosoft is offline
Miembro
 
Registrado: jul 2007
Ubicación: San José, Costa Rica
Posts: 19
Poder: 0
jt.logosoft Va por buen camino
Thumbs up Otro aporte

Hola! gracias por los aportes, a mí me funcionó con una variante: modifiqué el último procedimiento así
Código Delphi [-]
var
 Registro : TRegistry;
begin
     Registro := TRegistry.Create;
     Registro.RootKey := HKEY_CURRENT_USER;
     if Registro.OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings', False) then
       begin
       Registro.WriteInteger('EnableAutodial',1);
       Registro.WriteInteger('NoNetAutodial',1);
       Registro.CloseKey;
       Registro.Free;
       end;

end;
Aclaro que estoy en una red local, mi conexión a Internet es por cable y compartida. Estoy detrás de un switch y un router.

Última edición por marcoszorrilla fecha: 26-10-2008 a las 12:41:20.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:43:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi