OVH Cloud OVH Cloud

connexion internet

10 réponses
Avatar
scraper
bonjour à tous !

y a t il une API ou autre qui puisse piloter la boite de connexion à
l'internet ?

j'arrive à déterminer si l'ordi est connecté, mais je souhaiterais, s'il ne
l'est pas, afficher la boite de dialogue de connexion ??

merci



--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper

10 réponses

Avatar
François Picalausa
Hello,

Jette un oeil du côté de InternetAttemptConnect:
http://msdn.microsoft.com/library/en-us/wininet/wininet/internetattemptconnect.asp

Declare Function InternetAttemptConnect _
Lib "Wininet" _
( _
ByVal dwReserved As Long _
) _
As Long

Utilisation :
If InternetAttemptConnect(0) Then
'L'utilisateur a accepté la connection
'ou il était déjà online
Msgbox "Online"
Else
Msgbox "Offline"
End If

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"scraper" a écrit dans le message de
news:%
y a t il une API ou autre qui puisse piloter la boite de connexion à
l'internet ?


Avatar
scraper
Salut à François Picalausa qui dans son post
news:
nous a écrit/répondu :

Hello,

Jette un oeil du côté de InternetAttemptConnect:



http://msdn.microsoft.com/library/en-us/wininet/wininet/internetattemptconnect.asp

cool !

merci, ça a l'air de fonctionner ! :-)

j'avais fait le mauvais choix ....(InternetGetConnectedState)

par contre, une fois mon téléchargement lancé, pour faire pauser le script,
j'ai rien trouvé de mieux qu'une boucle ...

comment pourrais je faire autrement, plus ... "propre" ?

merci encore

--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper
Avatar
scraper
Salut à scraper qui dans son post
news:
nous a écrit/répondu :

cool !

merci, ça a l'air de fonctionner ! :-)



humm ... répondu trop vite !

si je n'ai pas de connexion active, le programme ne fait rien pendant un
bout de temps, puis "pas de réponse" ??




--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper
Avatar
François Picalausa
Hello,

Apparement, sous win 9x/Me, on pouvait utiliser:
Shell "rundll32 rnaui.dll,RnaWizard"

Mais ton programme plante peut-être parce que j'ai mal montré l'utilisation
de l'API... juste l'inverse en fait:
Private Const ERROR_SUCCESS = 0&

If InternetAttemptConnect(0) = ERROR_SUCCESS Then
'L'utilisateur a accepté la connection
'ou il était déjà online
Msgbox "Online"
Else
Msgbox "Offline"
End If

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"scraper" a écrit dans le message de
news:
si je n'ai pas de connexion active, le programme ne fait rien pendant
un bout de temps, puis "pas de réponse" ??


Avatar
scraper
Salut à François Picalausa qui dans son post
news:%
nous a écrit/répondu :

Hello,

Apparement, sous win 9x/Me, on pouvait utiliser:
Shell "rundll32 rnaui.dll,RnaWizard"




euh ... oui, mais sous XP ? :-)

Mais ton programme plante peut-être parce que j'ai mal montré
l'utilisation de l'API... juste l'inverse en fait:
Private Const ERROR_SUCCESS = 0&

If InternetAttemptConnect(0) = ERROR_SUCCESS Then
'L'utilisateur a accepté la connection
'ou il était déjà online
Msgbox "Online"
Else
Msgbox "Offline"
End If



ah .... j'avais vu que ça ne fonctionnait pas comme ça, et avais simplement
rajouté "=0" à
"If InternetAttemptConnect(0)"

=>If InternetAttemptConnect(0) =0 then ....

ça revient pas au même ??

parce que c'est dans ce cas ci que ça plantait !

mais de toutes façons, c'est moyennement satisfaisant, puisque je voudrais
déclencer, en fait, la connexion si elle n'existe pas !

sinon, InternetGetConnectedState est satisfaisant et fonctionne, mais ne
lance pas non plus la connexion ! :-(
----
Public Declare Function InternetGetConnectedState _
Lib "wininet.dll" (ByRef lpdwFlags As Long, _
ByVal dwReserved As Long) As Long

If InternetGetConnectedState(0&, 0&) Then
msgbox "connecté"
else
msgbox "non connecté"
end if
----

si tu as une autre idée ;-)

merci :-)





--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper
Avatar
scraper
Salut à François Picalausa qui dans son post
news:%
nous a écrit/répondu :

If InternetAttemptConnect(0) = ERROR_SUCCESS Then
'L'utilisateur a accepté la connection
'ou il était déjà online
Msgbox "Online"
Else
Msgbox "Offline"
End If



re ! :-)

effectivement, après avoir un peu fouillé là dessous ...

InternetAttemptConnect (0) fonctionne parfaitement .... pour autant que les
propriétés de la connexion par défaut ne soient pas à "Ne jamais établir de
connexion" ...
ce qui semblerait logique !

donc, j'ai essayé de modifier cette valeur dans le Registre ??

or, si je passe la valeur
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet
SettingsEnableAutoDial à 1 manuellement dans le Registre, et qu'ensuite
j'appelle InternetAttemptConnect (0), ça ne fonctionne pas !

alors que si je modifie dircetement depuis les propriétés de la connexion,
là ça fonctionne, (la valeur ci dessus est bien modifiée à 1) et la boite de
connexion apparait quand j'appelle InternetAttemptConnect (0) ...

j'avoue que je capte pas très bien pourquoi ... :-)



--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper
Avatar
Adam Pietrasiewicz
W pi±tek 06-sierpnia-2004 o godzinie 15:39:58 scraper napisa³/a


alors que si je modifie dircetement depuis les propriétés de la connexion,
la ça fonctionne, (la valeur ci dessus est bien modifiée a 1) et la boite de
connexion apparait quand j'appelle InternetAttemptConnect (0) ...



j'avoue que je capte pas tres bien pourquoi ... :-)




J'ai fait une dll qui controle la connexion d'une facon relativement
barbare, mais efficace.

En fait elle envoie un ping soit a 7 serveurs de suite soit a
l'idresse IP indiquee et si le ping reussit elle renvoie True pour
dire que l'ordinateur est online.

J'ai fait cette dll suite a une serie d'echecs d'application des
methodes conseillees par MS. Mon systeme marche a merveille et est
free...

--
Pozdrawiam
Adam Pietrasiewicz
Avatar
Adam Pietrasiewicz
W pi±tek 06-sierpnia-2004 o godzinie 16:19:40 scraper napisa³/a

J'ai fait cette dll suite a une serie d'echecs d'application des
methodes conseillees par MS. Mon systeme marche a merveille et est
free...





merci de ta réponse :-)



bon, OK ...



mais si tu n'es pas connecté, et que les propriétés de ta connexion par
défaut sont sur "ne jamais établir de connexion", comment fais tu pour
afficher l'interface de connexion ??



car en fait, la est mon probleme, finalement ...



si tu me dis que ta solution y remédie, je veux bien essayer ... :-)



J'ai fait le plus simplement possible - dans mon pgm je donne la
possibilite d'indiquer le nom de la connexion que l'utilisateur veut
utiliser en cas de passage en travail ONLINE et le pgm lance cette
connexion si necessaire.


--
Pozdrawiam
Adam Pietrasiewicz
Avatar
Adam Pietrasiewicz
W pi±tek 06-sierpnia-2004 o godzinie 17:04:48 scraper napisa³/a


eh bien, je veux bien essayer ? :-)



www.amsoft.com.pl/Downloads/ICDetector.dll

C'est un ActiveX.

Declaration:

soit par referencement normal,

soit par:

Dim Ping As Object
Set Ping = CreateObject("ICDetector.Detector")

et ensuite, pour faire un ping sur une adresse IP:

If Ping.JestNet(127.0.0.1) then


ou bien la fonction fait un ping sur 7 serveurs differents (je ne me
rappelle pas lesquels, mais je peux voir ca si necessaire) et si au
moins 1 repond, la fonction retourne TRUE

If Ping.JestNet then

Et voila. C'est simple et efficace.

--
Pozdrawiam
Adam Pietrasiewicz
Avatar
Adam Pietrasiewicz
W pi±tek 06-sierpnia-2004 o godzinie 18:27:07 scraper napisa³/a


Salut a Adam Pietrasiewicz qui dans son post
news:
nous a écrit/répondu :



W pi±tek 06-sierpnia-2004 o godzinie 17:04:48 scraper napisa³/a






eh bien, je veux bien essayer ? :-)







www.amsoft.com.pl/Downloads/ICDetector.dll





C'est un ActiveX.





Declaration:





soit par referencement normal,





soit par:





Dim Ping As Object
Set Ping = CreateObject("ICDetector.Detector")





et ensuite, pour faire un ping sur une adresse IP:





If Ping.JestNet(127.0.0.1) then






ou bien la fonction fait un ping sur 7 serveurs differents (je ne me
rappelle pas lesquels, mais je peux voir ca si necessaire) et si au
moins 1 repond, la fonction retourne TRUE





If Ping.JestNet then





Et voila. C'est simple et efficace.





d'accord, merci ....



mais comment faire si je ne suis pas connecté ?



Aucun probleme - Ping.JestNet = False dans ce cas la.




--
Pozdrawiam
Adam Pietrasiewicz