Salut,

J'ai trouvé plusieurs fonctions qui permettent de savoir si oui ou non on est connecté à internet. Entre autre les deux suivantes :

(1) http://www.darkskull.net/?module=vie...e&idarticle=40 :
Citation Envoyé par Dark Skull Software

Lorsqu'on crée une application qui a un accès à internet (par exemple, un navigateur), il peut être interressant de déterminer si l'on est connecté ou pas. La solution se trouve dans la base de registre, sous la clé
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\RemoteAccess\Remote Connection.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses
  Windows, Registry;
 
function is_Connect : Boolean;
Const
  DIR_REG_IS_CONNECT = '\System\CurrentControlSet\Services\RemoteAccess';
  REG_Remote_Connection = 'Remote Connection';
var
  Reg : TRegistry;
  Buff : Dword;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  Reg.OpenKeyReadOnly(DIR_REG_IS_CONNECT);
  Reg.ReadBinaryData(REG_Remote_Connection, buff, 4);
  Result:= (Buff = 1);
  Reg.Free;
end;
(2) http://delphi.developpez.com/faq/?pa...ctionconnexion :
Citation Envoyé par FAQ Developpez.com

Il suffit de se servir de la fonction de l'API suivante contenue dans l'unité WinInet :
InternetGetConnectedState(lpdwFlags: LPDWORD; dwReserved: DWORD): BOOL; stdcall;

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
uses
  WinInet;
 
function DetectionConnexion: Boolean;
var
  dwFlags: DWord;
begin
  dwFlags := INTERNET_CONNECTION_MODEM or INTERNET_CONNECTION_LAN or INTERNET_CONNECTION_PROXY;
  Result := InternetGetConnectedState(@dwFlags, 0);
end;
Cette fonction nous renvoie True si on est connecté ou False si on ne l'est pas.
Ceci ne fonctionne pas pour une connection par LAN.
Cette seconde méthode, à savoir l'utilisation de l'API InternetGetConnectedState se retrouve aussi sur les sites suivants :
- http://delphipage.free.fr/astuces/connecteoupas.html
- http://phidels.com/php/index.php3?pa...ip.php3&id=125

J'aimerais savoir si il y a une réelle différence à utiliser une fonction plutôt que l'autre. Si oui, quels sont les différences, avantages, ...

D'avance merci pour votre analyse.