Dim eR As EIGCInternetConnectionState InternetConnectionOK = InternetConnected(eR, sName)
Public Function InternetConnected(Optional ByRef eConnectionInfo As EIGCInternetConnectionState, Optional ByRef sConnectionName As String) As Boolean Dim dwFlags As Long Dim sNameBuf As String Dim lR As Long Dim iPos As Long
sNameBuf = String$(513, 0) lR = InternetGetConnectedStateEx(dwFlags, sNameBuf, 512, 0&)
eConnectionInfo = dwFlags
iPos = InStr(sNameBuf, vbNullChar)
If iPos > 0 Then sConnectionName = Left$(sNameBuf, iPos - 1) ElseIf Not sNameBuf = String$(513, 0) Then sConnectionName = sNameBuf End If
InternetConnected = (lR = 1)
End Function
Christian
"scraper" a écrit dans le message de news:%
Bonjour Eric (dans news:) tu nous disais :
> Bonjour, > > Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb > si la connexion à Internet est active > > Merci d'avance > > Eric
peut être avec l'API InternetGetConnectedState ?? et InternetAttemptConnect pour lancer éventuellement une connexion ....
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
Dim eR As EIGCInternetConnectionState
InternetConnectionOK = InternetConnected(eR, sName)
Public Function InternetConnected(Optional ByRef eConnectionInfo As
EIGCInternetConnectionState, Optional ByRef sConnectionName As String) As
Boolean
Dim dwFlags As Long
Dim sNameBuf As String
Dim lR As Long
Dim iPos As Long
sNameBuf = String$(513, 0)
lR = InternetGetConnectedStateEx(dwFlags, sNameBuf, 512, 0&)
eConnectionInfo = dwFlags
iPos = InStr(sNameBuf, vbNullChar)
If iPos > 0 Then
sConnectionName = Left$(sNameBuf, iPos - 1)
ElseIf Not sNameBuf = String$(513, 0) Then
sConnectionName = sNameBuf
End If
InternetConnected = (lR = 1)
End Function
Christian
"scraper" <scraper@pasdespam.fr> a écrit dans le message de
news:%23RSyEr3lEHA.3536@TK2MSFTNGP12.phx.gbl...
Bonjour Eric
(dans news:EC10B232-CE81-4CB9-900D-39F83B7BA67E@microsoft.com)
tu nous disais :
> Bonjour,
>
> Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb
> si la connexion à Internet est active
>
> Merci d'avance
>
> Eric
peut être avec l'API InternetGetConnectedState ??
et InternetAttemptConnect pour lancer éventuellement une connexion ....
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
Dim eR As EIGCInternetConnectionState InternetConnectionOK = InternetConnected(eR, sName)
Public Function InternetConnected(Optional ByRef eConnectionInfo As EIGCInternetConnectionState, Optional ByRef sConnectionName As String) As Boolean Dim dwFlags As Long Dim sNameBuf As String Dim lR As Long Dim iPos As Long
sNameBuf = String$(513, 0) lR = InternetGetConnectedStateEx(dwFlags, sNameBuf, 512, 0&)
eConnectionInfo = dwFlags
iPos = InStr(sNameBuf, vbNullChar)
If iPos > 0 Then sConnectionName = Left$(sNameBuf, iPos - 1) ElseIf Not sNameBuf = String$(513, 0) Then sConnectionName = sNameBuf End If
InternetConnected = (lR = 1)
End Function
Christian
"scraper" a écrit dans le message de news:%
Bonjour Eric (dans news:) tu nous disais :
> Bonjour, > > Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb > si la connexion à Internet est active > > Merci d'avance > > Eric
peut être avec l'API InternetGetConnectedState ?? et InternetAttemptConnect pour lancer éventuellement une connexion ....
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Jean-Marc
"Eric" a écrit dans le message de news:
Bonjour,
Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb si
la
connexion à Internet est active
Hello,
tu mets un composant winsock sur ta form, et tu tentes de te connecter vers un serveur qui est "toujours" vivant: - connection sur www.google.com sur le port 80, ou conection sur un serveur pop3 sur le port 110.
Si la connection est un succès, alors tu es connecté à Internet (100%). Si elle échoue, tu es presque sur que tu n'est pas connecté, à moins que le serveur de google ou le serveur de mail soit morts (peu probable).
-- Jean-marc
"Eric" <Eric@discussions.microsoft.com> a écrit dans le message de
news:EC10B232-CE81-4CB9-900D-39F83B7BA67E@microsoft.com...
Bonjour,
Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb si
la
connexion à Internet est active
Hello,
tu mets un composant winsock sur ta form, et tu tentes de te connecter vers
un serveur qui est "toujours" vivant:
- connection sur www.google.com sur le port 80, ou conection sur un serveur
pop3 sur le port 110.
Si la connection est un succès, alors tu es connecté à Internet (100%). Si
elle échoue, tu es presque sur que tu n'est pas connecté, à moins que le
serveur de google ou le serveur de mail soit morts (peu probable).
Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb si
la
connexion à Internet est active
Hello,
tu mets un composant winsock sur ta form, et tu tentes de te connecter vers un serveur qui est "toujours" vivant: - connection sur www.google.com sur le port 80, ou conection sur un serveur pop3 sur le port 110.
Si la connection est un succès, alors tu es connecté à Internet (100%). Si elle échoue, tu es presque sur que tu n'est pas connecté, à moins que le serveur de google ou le serveur de mail soit morts (peu probable).
-- Jean-marc
Patrick Philippot
Eric wrote:
Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb si la connexion à Internet est active
Bonjour,
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++:
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].dwForwardDest == 0) // Il y a une passerelle par défaut { bHasDefaultRoute = TRUE; break; } } }
delete pft;
return bHasDefaultRoute; }
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Eric wrote:
Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb
si la connexion à Internet est active
Bonjour,
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++:
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].dwForwardDest == 0) // Il y a une passerelle
par défaut
{
bHasDefaultRoute = TRUE;
break;
}
}
}
delete pft;
return bHasDefaultRoute;
}
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb si la connexion à Internet est active
Bonjour,
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++:
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].dwForwardDest == 0) // Il y a une passerelle par défaut { bHasDefaultRoute = TRUE; break; } } }
delete pft;
return bHasDefaultRoute; }
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Guy DETIENNE
Salut ;O)
Il suffirait de tester plusieurs serveurs à la fois ainsi a probabilité qu'ils soient tous 'down' est quasi nulle. Au moins un répondra à l'appel... Sinon, très probable qu'il n'y ait pas de connexion Internet.
Guy
"Jean-Marc" a écrit dans le message de news:4142a838$0$4073$
"Eric" a écrit dans le message de news: > Bonjour, > > Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb si la > connexion à Internet est active
Hello,
tu mets un composant winsock sur ta form, et tu tentes de te connecter
vers
un serveur qui est "toujours" vivant: - connection sur www.google.com sur le port 80, ou conection sur un
serveur
pop3 sur le port 110.
Si la connection est un succès, alors tu es connecté à Internet (100%). Si elle échoue, tu es presque sur que tu n'est pas connecté, à moins que le serveur de google ou le serveur de mail soit morts (peu probable).
-- Jean-marc
Salut ;O)
Il suffirait de tester plusieurs serveurs à la fois ainsi a probabilité
qu'ils soient tous 'down' est quasi nulle.
Au moins un répondra à l'appel... Sinon, très probable qu'il n'y ait pas de
connexion Internet.
Guy
"Jean-Marc" <nospamjean_marc_n2@yahoo.fr> a écrit dans le message de
news:4142a838$0$4073$ba620e4c@news.skynet.be...
"Eric" <Eric@discussions.microsoft.com> a écrit dans le message de
news:EC10B232-CE81-4CB9-900D-39F83B7BA67E@microsoft.com...
> Bonjour,
>
> Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb si
la
> connexion à Internet est active
Hello,
tu mets un composant winsock sur ta form, et tu tentes de te connecter
vers
un serveur qui est "toujours" vivant:
- connection sur www.google.com sur le port 80, ou conection sur un
serveur
pop3 sur le port 110.
Si la connection est un succès, alors tu es connecté à Internet (100%). Si
elle échoue, tu es presque sur que tu n'est pas connecté, à moins que le
serveur de google ou le serveur de mail soit morts (peu probable).
Il suffirait de tester plusieurs serveurs à la fois ainsi a probabilité qu'ils soient tous 'down' est quasi nulle. Au moins un répondra à l'appel... Sinon, très probable qu'il n'y ait pas de connexion Internet.
Guy
"Jean-Marc" a écrit dans le message de news:4142a838$0$4073$
"Eric" a écrit dans le message de news: > Bonjour, > > Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb si la > connexion à Internet est active
Hello,
tu mets un composant winsock sur ta form, et tu tentes de te connecter
vers
un serveur qui est "toujours" vivant: - connection sur www.google.com sur le port 80, ou conection sur un
serveur
pop3 sur le port 110.
Si la connection est un succès, alors tu es connecté à Internet (100%). Si elle échoue, tu es presque sur que tu n'est pas connecté, à moins que le serveur de google ou le serveur de mail soit morts (peu probable).
-- Jean-marc
François Picalausa
Hello,
On peut rendre la méthode plus fiable en demandant à plusieurs serveurs (yahoo, microsoft, ...) Mais pourquoi ne pas passer par ICPM et plus particulièrement le célèbre ping pour savoir s'il est alive? Le ping peut être refusé sur certains serveurs, c'est vrai. Sinon, pour l'implémenter, on peut utiliser IcmpCreateFile, IcmpSendEcho et IcmpCloseHandle (+WSAStartup, WSACleanup) On pourrait aussi se dire que la conversion de nom de domaine en IP est souvent faite par le FAI (sauf cas de bloquage de certains sites dans le fichier host...) et donc tenter de traduire un nom de domaine en IP. Ceci est possible via gethostbyname qui renvoie une structure hostent ou avec getaddrinfo (winsock 2) et beaucoup de copymemory.
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com
"Jean-Marc" a écrit dans le message de news:4142a838$0$4073$
"Eric" a écrit dans le message de news:
Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb si la connexion à Internet est active
tu mets un composant winsock sur ta form, et tu tentes de te connecter vers un serveur qui est "toujours" vivant: - connection sur www.google.com sur le port 80, ou conection sur un serveur pop3 sur le port 110.
Hello,
On peut rendre la méthode plus fiable en demandant à plusieurs serveurs
(yahoo, microsoft, ...)
Mais pourquoi ne pas passer par ICPM et plus particulièrement le célèbre
ping pour savoir s'il est alive?
Le ping peut être refusé sur certains serveurs, c'est vrai.
Sinon, pour l'implémenter, on peut utiliser IcmpCreateFile, IcmpSendEcho et
IcmpCloseHandle (+WSAStartup, WSACleanup)
On pourrait aussi se dire que la conversion de nom de domaine en IP est
souvent faite par le FAI (sauf cas de bloquage de certains sites dans le
fichier host...) et donc tenter de traduire un nom de domaine en IP.
Ceci est possible via gethostbyname qui renvoie une structure hostent ou
avec getaddrinfo (winsock 2) et beaucoup de copymemory.
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
"Jean-Marc" <nospamjean_marc_n2@yahoo.fr> a écrit dans le message de
news:4142a838$0$4073$ba620e4c@news.skynet.be
"Eric" <Eric@discussions.microsoft.com> a écrit dans le message de
news:EC10B232-CE81-4CB9-900D-39F83B7BA67E@microsoft.com...
Je souhaite savoir s'il est possible de testée, à partir d'un prog
Vb si la connexion à Internet est active
tu mets un composant winsock sur ta form, et tu tentes de te
connecter vers un serveur qui est "toujours" vivant:
- connection sur www.google.com sur le port 80, ou conection sur un
serveur pop3 sur le port 110.
On peut rendre la méthode plus fiable en demandant à plusieurs serveurs (yahoo, microsoft, ...) Mais pourquoi ne pas passer par ICPM et plus particulièrement le célèbre ping pour savoir s'il est alive? Le ping peut être refusé sur certains serveurs, c'est vrai. Sinon, pour l'implémenter, on peut utiliser IcmpCreateFile, IcmpSendEcho et IcmpCloseHandle (+WSAStartup, WSACleanup) On pourrait aussi se dire que la conversion de nom de domaine en IP est souvent faite par le FAI (sauf cas de bloquage de certains sites dans le fichier host...) et donc tenter de traduire un nom de domaine en IP. Ceci est possible via gethostbyname qui renvoie une structure hostent ou avec getaddrinfo (winsock 2) et beaucoup de copymemory.
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com
"Jean-Marc" a écrit dans le message de news:4142a838$0$4073$
"Eric" a écrit dans le message de news:
Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb si la connexion à Internet est active
tu mets un composant winsock sur ta form, et tu tentes de te connecter vers un serveur qui est "toujours" vivant: - connection sur www.google.com sur le port 80, ou conection sur un serveur pop3 sur le port 110.
Patrick Philippot
Christian HUBERT-HUGOUD- Xtrem7 wrote:
Voila ce que j'utilise : <snip> lR = InternetGetConnectedStateEx(dwFlags, sNameBuf, 512, 0&)
Bonjour,
Malheureusement (comme le démontre très vite une recherche Google Newsgroups sur InternetGetConnectedStateEx ou InternetGetConnectedState) cette API ne fonctionne pas toujours correctement et donne des résultats aberrants dans certaines configurations.
J'ai eu à régler ce problème récemment et nous avons testé différentes méthodes sur une grande variété de systèmes (de Win98 à XP) connectés soit en dial-up, soit via LAN, soit via un modem ADSL,... La seule approche qui fonctionne vraiment dans tous les cas de figure, c'est celle que j'ai décrite plus haut. Encore une fois, je suis désolé de ne pas avoir une version VB à proposer, j'essaierai de faire ça dès que je suis à nouveau disponible...
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Christian HUBERT-HUGOUD- Xtrem7 wrote:
Voila ce que j'utilise :
<snip>
lR = InternetGetConnectedStateEx(dwFlags, sNameBuf, 512, 0&)
Bonjour,
Malheureusement (comme le démontre très vite une recherche Google
Newsgroups sur InternetGetConnectedStateEx ou InternetGetConnectedState)
cette API ne fonctionne pas toujours correctement et donne des résultats
aberrants dans certaines configurations.
J'ai eu à régler ce problème récemment et nous avons testé différentes
méthodes sur une grande variété de systèmes (de Win98 à XP) connectés
soit en dial-up, soit via LAN, soit via un modem ADSL,... La seule
approche qui fonctionne vraiment dans tous les cas de figure, c'est
celle que j'ai décrite plus haut. Encore une fois, je suis désolé de ne
pas avoir une version VB à proposer, j'essaierai de faire ça dès que je
suis à nouveau disponible...
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Voila ce que j'utilise : <snip> lR = InternetGetConnectedStateEx(dwFlags, sNameBuf, 512, 0&)
Bonjour,
Malheureusement (comme le démontre très vite une recherche Google Newsgroups sur InternetGetConnectedStateEx ou InternetGetConnectedState) cette API ne fonctionne pas toujours correctement et donne des résultats aberrants dans certaines configurations.
J'ai eu à régler ce problème récemment et nous avons testé différentes méthodes sur une grande variété de systèmes (de Win98 à XP) connectés soit en dial-up, soit via LAN, soit via un modem ADSL,... La seule approche qui fonctionne vraiment dans tous les cas de figure, c'est celle que j'ai décrite plus haut. Encore une fois, je suis désolé de ne pas avoir une version VB à proposer, j'essaierai de faire ça dès que je suis à nouveau disponible...
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
ng
Salut,
Pq pas un ping sur plusieurs gros serveurs ? (google.com, yahoo.fr, microsoft.com...)
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
Eric wrote:
Bonjour,
Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb si la connexion à Internet est active
Merci d'avance
Eric
Salut,
Pq pas un ping sur plusieurs gros serveurs ? (google.com, yahoo.fr,
microsoft.com...)
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Eric wrote:
Bonjour,
Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb
si la connexion à Internet est active
Pq pas un ping sur plusieurs gros serveurs ? (google.com, yahoo.fr, microsoft.com...)
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
Eric wrote:
Bonjour,
Je souhaite savoir s'il est possible de testée, à partir d'un prog Vb si la connexion à Internet est active