Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Suis-je connecté au réseau ?

3 réponses
Avatar
Yann
Bonjour à tous.

Je cherche comment faire pour savoir si ma machine est connectée au réseau.
Ca fait 2 heures que je cherche, et je ne trouve rien. Et mes collègues
commencent à se dire que je passe plus de temps sous mon bureau, à brancher
et débrancher mon cable réseau, que devant mon PC à coder.

Donc, si quelqu'un avait une solution, une idée, une piste...
J'ai cherché un peu dans les WMI, mais il y a tellement de trucs que je m'y
perds.

Donc, si une âme charitable a pitié de moi...

Merci

Yann

3 réponses

Avatar
jerome crevecoeur
Yann a écrit :
Bonjour à tous.

Je cherche comment faire pour savoir si ma machine est connectée au r éseau.
Ca fait 2 heures que je cherche, et je ne trouve rien. Et mes collègu es
commencent à se dire que je passe plus de temps sous mon bureau, à brancher
et débrancher mon cable réseau, que devant mon PC à coder.

Donc, si quelqu'un avait une solution, une idée, une piste...
J'ai cherché un peu dans les WMI, mais il y a tellement de trucs que je m'y
perds.

Donc, si une âme charitable a pitié de moi...

Merci

Yann


ping l'adresse de ton routeur pour vérifier sous commande dos.
Avatar
Zoury
Salut Yann!

Regarde ce message :
http://groups.google.com/groups?selmï0MkKPcEHA.3716%40TK2MSFTNGP11.phx.gbl

--
Cordialement
Yanick
MVP pour Visual Basic
"Yann" a écrit dans le message de
news:
Bonjour à tous.

Je cherche comment faire pour savoir si ma machine est connectée au


réseau.
Ca fait 2 heures que je cherche, et je ne trouve rien. Et mes collègues
commencent à se dire que je passe plus de temps sous mon bureau, à


brancher
et débrancher mon cable réseau, que devant mon PC à coder.

Donc, si quelqu'un avait une solution, une idée, une piste...
J'ai cherché un peu dans les WMI, mais il y a tellement de trucs que je


m'y
perds.

Donc, si une âme charitable a pitié de moi...

Merci

Yann


Avatar
Patrick Philippot
Bonjour,

S'il s'agit de vérifier la connexion à Internet, voilà une solution que
j'ai mise au point (à partir d'une idée originale évoquée sur codeguru)
et qui fonctionen très bien sur toute version de Windows. Mon problème
était de me connecter uniquement si une connexion Internet est active,
sachant que je ne voulais pas provoquer l'apparation de la boîte de
dialogue dial-up. Citation de mon post de l'époque:

"
GetConnectedState ne renvoie pas la bonne information. Par ailleurs,
toute méthode basée sur un test de connection présente l'inconvénient
majeur de provoquer l'ouverture de la boîte de dialogue de connexion
dial-up. Or en général, on veut tester la présence d'une connexion de
manière transparente, sans que l'utilisateur soit sollicité.

J'utilise une méthode qui fonctionne bien mais malheureusement, je n'ai
pas eu le temps de traduire ce code en Visual Basic mais ça ne devrait
pas prendre trop de temps. En voici le principe:

1/ On utilise l'API GetIpForwardTable pour récupérer la table de
forwarding IP.

2/ Pour chaque entrée de la table, on vérifie si le champ dwForwardDest
est égal à 0. Si une des entrées de la table a cette valeur à 0, c'est
qu'il existe une passerelle active, donc a priori une connexion
Internet.

Je suis vraiment trop chargé pour faire ça maintenant (désolé) mais si
quelqu'un a 5 minutes, voici le code de la routine en C++:
BOOL MaClasse::CheckConnection()
{
MIB_IPFORWARDTABLE* pft;
DWORD dwTableSize = 0;
BOOL bHasDefaultRoute = FALSE;


GetIpForwardTable(NULL, &dwTableSize, FALSE);
pft = (MIB_IPFORWARDTABLE*) new BYTE[dwTableSize];


if (GetIpForwardTable(pft, &dwTableSize, TRUE) == NO_ERROR)
{
for (unsigned int nIndex = 0; nIndex < pft->dwNumEntries; nIndex++)
{
if (pft->table[nIndex].dwForwardD­est == 0) // Il y a une passerelle
par défaut
{
bHasDefaultRoute = TRUE;
break;
}
}
}

delete pft;

return bHasDefaultRoute;

}

"

J'espère que ça pourra aider.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr