Detection connexion internet sous Delphi 6

Smeito79 Messages postés 22 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 3 février 2004 - 1 juin 2003 à 16:52
jeanbi2 Messages postés 4 Date d'inscription dimanche 1 juin 2003 Statut Membre Dernière intervention 4 juin 2003 - 1 juin 2003 à 20:24
Slt a tous,
je voudrai creer un programme qui detecte lorceque la connexion a internet est établie et lorcequ'elle est coupé.
J'ai deja vu ce sujet sur ce forum mais c'était pour delphi 5 et ca a pa l'ére de marcher!!

Merci

Smeito79

1 réponse

jeanbi2 Messages postés 4 Date d'inscription dimanche 1 juin 2003 Statut Membre Dernière intervention 4 juin 2003
1 juin 2003 à 20:24
bonjour,
unit Unit1;
//http://perso.wanadoo.fr/bardou/michel/
// attention, dans l'aide sur l'API InternetGetConnectedState, il est précisé que ce n'est valable
// qu'à partir de la version Internet Explorer IE4.
// En cas de connexion par un partage de connexion internet,
// la fonction réagira toujours comme si le micro est connecté
// un lecteur équipé en Win 2000+ LS + proxy me signale qu'il ne détecte rien.
// pour les config autre que modem directement sur votre ordi : à tester par rapport à votre config
// dans ce cas, merci de me faire un mail pour me dire ce qu'il en est michel.bardou@wanadoo.fr

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, registry,
ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Timer1: TTimer;
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
LabelModem: TLabel;
Label4: TLabel;
LabelReseau: TLabel;
LabelProxy: TLabel;
Label7: TLabel;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;

var
Form1: TForm1;

// pour D3 retirer les // lignes suivantes
//const
// INTERNET_CONNECTION_MODEM = 1;
// INTERNET_CONNECTION_LAN = 2;
// INTERNET_CONNECTION_PROXY = 4;
// INTERNET_CONNECTION_MODEM_BUSY = 8;

//function InternetGetConnectedState(lpdwFlags: LPDWORD;dwReserved: DWORD): BOOL; stdcall;

implementation

{$R *.DFM}

Uses WinInet;// facultatif en D3

// pour D3 retirer les // ligne suivante
//function InternetGetConnectedState; external 'wininet.dll' name 'InternetGetConnectedState';

Function Detection_Connexion :boolean;
Var
dwFlags : DWORD;
Begin
dwFlags :=INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN
+ INTERNET_CONNECTION_PROXY ;
RESULT := InternetGetConnectedState(@dwFlags,0);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Detection_Connexion then Form1.Label1.Caption:='Connecté'
Else Form1.Label1.Caption:='Pas de Connexion';
end;

procedure TForm1.Button1Click(Sender: TObject);
// chez moi, dans mes essais, soit je suis connecté et tout est à oui soit je ne le suis pas et tout est à non
// et chez vous ?
Var
dwFlags : DWORD;
Begin
dwFlags :=INTERNET_CONNECTION_MODEM;
if InternetGetConnectedState(@dwFlags,0) then LabelModem.caption:='oui' else LabelModem.caption:='non';
dwFlags:=INTERNET_CONNECTION_LAN;
if InternetGetConnectedState(@dwFlags,0) then LabelReseau.caption:='oui' else LabelReseau.Caption:='non';
dwFlags:=INTERNET_CONNECTION_PROXY;
if InternetGetConnectedState(@dwFlags,0) then LabelProxy.caption:='oui' else LabelProxy.caption:='non';

end;

end.

voici un exemple dont je me suis servi pour creer un petit compteur internet a voir sur mon site.
a+
0
Rejoignez-nous