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