OVH Cloud OVH Cloud

OUVRIR CONNECTION

11 réponses
Avatar
lou
BONJOUR

je possede une connection internet(adsl)

question :

comment avec un clik
1) savoir si on connecté sur internet

2)si pas connecté ,ouvrir la connection (adsl)automatiquement(ou afficher le
panneau de connection)


merci de votre aide

10 réponses

1 2
Avatar
Picalausa François
Hello,

Tu peux te référer à la faq pour déteriner l'état de connexion à internet:
http://faq.vb.free.fr/index.php?questionw

Il faut toutefois noter que la méthode illustrée est malheureusement loin
d'être fiable. Parmis les autres techniques, il y en a qui consistent à
envoyer des requètes ping à des serveurs "toujours présent" (google, yahoo,
microsoft, ...).

Une autre méthode plus complète a aussi été présentée par Patrick Philippot:
http://groups.google.fr/group/microsoft.public.fr.vb/msg/cba7bb8373d3b809
Je ne sais pas s'il en existe une bonne traduction VB? - je vais m'y mettre

--
Picalausa François

"lou" a écrit dans le message de news:
42fda601$0$19355$
BONJOUR

je possede une connection internet(adsl)

question :

comment avec un clik
1) savoir si on connecté sur internet

2)si pas connecté ,ouvrir la connection (adsl)automatiquement(ou afficher
le
panneau de connection)


merci de votre aide





Avatar
Picalausa François
Hello,

Voici ma proposition de traduction. Quelqu'un peut-il confirmer ou non qu'il
n'y a pas d'erreur?

Private Const ERROR_SUCCESS As Long = 0

Private Type MIB_IPFORWARDROW
dwForwardDest As Long
dwForwardMask As Long
dwForwardPolicy As Long
dwForwardNextHop As Long
dwForwardIfIndex As Long
dwForwardType As Long
dwForwardProto As Long
dwForwardAge As Long
dwForwardNextHopAS As Long
dwForwardMetric1 As Long
dwForwardMetric2 As Long
dwForwardMetric3 As Long
dwForwardMetric4 As Long
dwForwardMetric5 As Long
End Type

Private Type MIB_IPFORWARDTABLE
dwNumEntries As Long
table(0) As MIB_IPFORWARDROW
End Type

Private Declare Function GetIpForwardTable _
Lib "Iphlpapi" _
( _
pIpForwardTable As Any, _
pdwSize As Long, _
ByVal bOrder As Long _
) _
As Long

Private Function IsConnected() As Boolean
Dim TableSize As Long, IPFRows() As Long, i As Long

ReDim IPFRows(0)
GetIpForwardTable IPFRows(0), TableSize, 0

ReDim IPFRows(TableSize / 4)
If GetIpForwardTable(IPFRows(0), TableSize, 1) = ERROR_SUCCESS Then
For i = 1 To IPFRows(0) * 14 Step 14 'IPFRows(0) =
MIB_IPFORWARDTABLE.dwNumEntries
If IPFRows(i) = 0 Then 'PFRows(1 + (i - 1) * 14) =
MIB_IPFORWARDTABLE.table(nIndex).dwForwardD­est
IsConnected = True

Exit For
End If
Next i
End If
End Function

En ce qui concerne l'affichage de la boite de dialogue de connexion,
InternetAttemptConnect semble être approprié:
Private Declare Function InternetAttemptConnect _
Lib "Wininet" _
( _
ByVal dwReserved As Long _
) _
As Long

Private Sub Form_Load()
Debug.Print Connect
End Sub

Private Function Connect() As Boolean
TryDial = InternetAttemptConnect(0) = ERROR_SUCCESS
End Function

Celle ci affichera la boite de dialogue de connection si aucune connection
n'est déjà initiée.

--
Picalausa François

"Picalausa François" a écrit dans le message de news:
%234twFk$
Une autre méthode plus complète a aussi été présentée par Patrick
Philippot:
http://groups.google.fr/group/microsoft.public.fr.vb/msg/cba7bb8373d3b809
Je ne sais pas s'il en existe une bonne traduction VB? - je vais m'y
mettre

--
Picalausa François

"lou" a écrit dans le message de news:
42fda601$0$19355$
comment avec un clik
1) savoir si on connecté sur internet

2)si pas connecté ,ouvrir la connection (adsl)automatiquement(ou afficher
le
panneau de connection)




Avatar
lou
bonjour françois une erreur dans ton code

Private Function IsConnected() As Boolean
Dim TableSize As Long, IPFRows() As Long, i As Long

ReDim IPFRows(0)
GetIpForwardTable IPFRows(0), TableSize, 0

ReDim IPFRows(TableSize / 4)
If GetIpForwardTable(IPFRows(0), TableSize, 1) = ERROR_SUCCESS Then
For i = 1 To IPFRows(0) * 14 Step 14 'IPFRows(0) MIB_IPFORWARDTABLE.dwNumEntries ''''''''''''bug object requis ??????????
If IPFRows(i) = 0 Then 'PFRows(1 + (i - 1) * 14) MIB_IPFORWARDTABLE.table(nIndex).dwForwardD­est
IsConnected = True

Exit For
End If
Next i
End If

End Function


pour ma deuxieme question je me suis mal exprimé
(ou afficher le panneau de connection)
c'etait sans afficher la boite de dialogue de connection

merci si tu peux rectifier!!!

"Picalausa François" a écrit dans le message de news:

Hello,

Voici ma proposition de traduction. Quelqu'un peut-il confirmer ou non


qu'il
n'y a pas d'erreur?

Private Const ERROR_SUCCESS As Long = 0

Private Type MIB_IPFORWARDROW
dwForwardDest As Long
dwForwardMask As Long
dwForwardPolicy As Long
dwForwardNextHop As Long
dwForwardIfIndex As Long
dwForwardType As Long
dwForwardProto As Long
dwForwardAge As Long
dwForwardNextHopAS As Long
dwForwardMetric1 As Long
dwForwardMetric2 As Long
dwForwardMetric3 As Long
dwForwardMetric4 As Long
dwForwardMetric5 As Long
End Type

Private Type MIB_IPFORWARDTABLE
dwNumEntries As Long
table(0) As MIB_IPFORWARDROW
End Type

Private Declare Function GetIpForwardTable _
Lib "Iphlpapi" _
( _
pIpForwardTable As Any, _
pdwSize As Long, _
ByVal bOrder As Long _
) _
As Long

Private Function IsConnected() As Boolean
Dim TableSize As Long, IPFRows() As Long, i As Long

ReDim IPFRows(0)
GetIpForwardTable IPFRows(0), TableSize, 0

ReDim IPFRows(TableSize / 4)
If GetIpForwardTable(IPFRows(0), TableSize, 1) = ERROR_SUCCESS Then
For i = 1 To IPFRows(0) * 14 Step 14 'IPFRows(0) > MIB_IPFORWARDTABLE.dwNumEntries
If IPFRows(i) = 0 Then 'PFRows(1 + (i - 1) * 14) > MIB_IPFORWARDTABLE.table(nIndex).dwForwardD­est
IsConnected = True

Exit For
End If
Next i
End If
End Function

En ce qui concerne l'affichage de la boite de dialogue de connexion,
InternetAttemptConnect semble être approprié:
Private Declare Function InternetAttemptConnect _
Lib "Wininet" _
( _
ByVal dwReserved As Long _
) _
As Long

Private Sub Form_Load()
Debug.Print Connect
End Sub

Private Function Connect() As Boolean
TryDial = InternetAttemptConnect(0) = ERROR_SUCCESS
End Function

Celle ci affichera la boite de dialogue de connection si aucune connection
n'est déjà initiée.

--
Picalausa François

"Picalausa François" a écrit dans le message de


news:
%234twFk$
> Une autre méthode plus complète a aussi été présentée par Patrick
> Philippot:
>


http://groups.google.fr/group/microsoft.public.fr.vb/msg/cba7bb8373d3b809
> Je ne sais pas s'il en existe une bonne traduction VB? - je vais m'y
> mettre
>
> --
> Picalausa François
>
> "lou" a écrit dans le message de news:
> 42fda601$0$19355$
>> comment avec un clik
>> 1) savoir si on connecté sur internet
>>
>> 2)si pas connecté ,ouvrir la connection (adsl)automatiquement(ou


afficher
>> le
>> panneau de connection)




Avatar
Jean-Marc
"lou" a écrit dans le message de
news:42fdea10$0$21042$
bonjour françois une erreur dans ton code

Private Function IsConnected() As Boolean
Dim TableSize As Long, IPFRows() As Long, i As Long

ReDim IPFRows(0)
GetIpForwardTable IPFRows(0), TableSize, 0

ReDim IPFRows(TableSize / 4)
If GetIpForwardTable(IPFRows(0), TableSize, 1) = ERROR_SUCCESS Then
For i = 1 To IPFRows(0) * 14 Step 14 > If IPFRows(i) 0 Then 'PFRows(1 + (i - 1) * 14) > MIB_IPFORWARDTABLE.table(nIndex).dwForwardD­est
IsConnected = True

Exit For
End If
Next i
End If

End Function




Hello,

Mais non il n'y a pas d'erreur !

C'est que tu n'as pas fait gaffe que c'était un commentaire, comme ça:

' IPFRows(0) = MIB_IPFORWARDTABLE.dwNumEntries

C'est ton lecteur de news qui fait passer à la ligne, il ne faut pas
recopier
sans regarder ni comprendre.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
lou
sorry
je n'ai pas fait attention

pour ma 2eme question pas de solution???

encore désolé
merci

"Jean-Marc" a écrit dans le message de news:
42fdec8b$0$22240$
"lou" a écrit dans le message de
news:42fdea10$0$21042$
> bonjour françois une erreur dans ton code
>
> Private Function IsConnected() As Boolean
> Dim TableSize As Long, IPFRows() As Long, i As Long
>
> ReDim IPFRows(0)
> GetIpForwardTable IPFRows(0), TableSize, 0
>
> ReDim IPFRows(TableSize / 4)
> If GetIpForwardTable(IPFRows(0), TableSize, 1) = ERROR_SUCCESS Then
> For i = 1 To IPFRows(0) * 14 Step 14 > If IPFRows(i)


> 0 Then 'PFRows(1 + (i - 1) * 14) > > MIB_IPFORWARDTABLE.table(nIndex).dwForwardD­est
> IsConnected = True
>
> Exit For
> End If
> Next i
> End If
>
> End Function
>

Hello,

Mais non il n'y a pas d'erreur !

C'est que tu n'as pas fait gaffe que c'était un commentaire, comme ça:

' IPFRows(0) = MIB_IPFORWARDTABLE.dwNumEntries

C'est ton lecteur de news qui fait passer à la ligne, il ne faut pas
recopier
sans regarder ni comprendre.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;



Avatar
Picalausa François
Hello,

Concernant le bug du second exemple, il s'agit effectivement d'un
commentaire découpé
Pour la connexion, peut être via InternetAutoDial:
Private Const INTERNET_AUTODIAL_FORCE_ONLINE = 1
Private Const INTERNET_AUTODIAL_FORCE_UNATTENDED = 2
Private Const INTERNET_AUTODIAL_FAILIFSECURITYCHECK = 4
Private Const INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT = 8

Private Declare Function InternetAutodial _
Lib "Wininet" _
( _
ByVal dwFlags As Long, _
ByVal hwndParent As Long _
) _
As Long

Private Function Autodial() as Boolean
Autodial = InternetAutodial(INTERNET_AUTODIAL_FORCE_UNATTENDED,0)
End Function

--
Picalausa François

"lou" a écrit dans le message de news:
42fdea10$0$21042$
pour ma deuxieme question je me suis mal exprimé
(ou afficher le panneau de connection)
c'etait sans afficher la boite de dialogue de connection

"Picalausa François" a écrit dans le message de
news:

Hello,
En ce qui concerne l'affichage de la boite de dialogue de connexion,
InternetAttemptConnect semble être approprié:
Celle ci affichera la boite de dialogue de connection si aucune
connection
n'est déjà initiée.

--
Picalausa François




Avatar
lou
merci
françois j'ai essaé ton code mais je sais pas comment faire sur un clik

Private Sub Commande0_Click()
"je mets quoi je suis novice en vb merci"

End Sub


ton code:

Private Const INTERNET_AUTODIAL_FORCE_ONLINE = 1
Private Const INTERNET_AUTODIAL_FORCE_UNATTENDED = 2
Private Const INTERNET_AUTODIAL_FAILIFSECURITYCHECK = 4
Private Const INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT = 8

Private Declare Function InternetAutodial _
Lib "Wininet" _
( _
ByVal dwFlags As Long, _
ByVal hwndParent As Long _
) _
As Long

Private Function Autodial() as Boolean
Autodial = InternetAutodial(INTERNET_AUTODIAL_FORCE_UNATTENDED,0)
End Function






"Picalausa François" a écrit dans le message de news:
#
Hello,

Concernant le bug du second exemple, il s'agit effectivement d'un
commentaire découpé
Pour la connexion, peut être via InternetAutoDial:
Private Const INTERNET_AUTODIAL_FORCE_ONLINE = 1
Private Const INTERNET_AUTODIAL_FORCE_UNATTENDED = 2
Private Const INTERNET_AUTODIAL_FAILIFSECURITYCHECK = 4
Private Const INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT = 8

Private Declare Function InternetAutodial _
Lib "Wininet" _
( _
ByVal dwFlags As Long, _
ByVal hwndParent As Long _
) _
As Long

Private Function Autodial() as Boolean
Autodial = InternetAutodial(INTERNET_AUTODIAL_FORCE_UNATTENDED,0)
End Function

--
Picalausa François

"lou" a écrit dans le message de news:
42fdea10$0$21042$
> pour ma deuxieme question je me suis mal exprimé
> (ou afficher le panneau de connection)
> c'etait sans afficher la boite de dialogue de connection
>
> "Picalausa François" a écrit dans le message de
> news:
>
>> Hello,
>> En ce qui concerne l'affichage de la boite de dialogue de connexion,
>> InternetAttemptConnect semble être approprié:
>> Celle ci affichera la boite de dialogue de connection si aucune
>> connection
>> n'est déjà initiée.
>>
>> --
>> Picalausa François




Avatar
Picalausa François
Hello,

Private Sub Commande0_Click()
Autodial
End Sub

--
Picalausa François
"lou" a écrit dans le message de news:
42fe1b9f$0$627$
merci
françois j'ai essaé ton code mais je sais pas comment faire sur un clik

Private Sub Commande0_Click()
"je mets quoi je suis novice en vb merci"

End Sub

ton code:

<declares>
Private Function Autodial() as Boolean
Autodial = InternetAutodial(INTERNET_AUTODIAL_FORCE_UNATTENDED,0)
End Function


Avatar
lou
re François
c'est ce que j'avais fait mais apparament rien ne se passe
?????????

"Picalausa François" a écrit dans le message de news:

Hello,

Private Sub Commande0_Click()
Autodial
End Sub

--
Picalausa François
"lou" a écrit dans le message de news:
42fe1b9f$0$627$
> merci
> françois j'ai essaé ton code mais je sais pas comment faire sur un clik
>
> Private Sub Commande0_Click()
> "je mets quoi je suis novice en vb merci"
>
> End Sub
>
> ton code:
>
> <declares>
> Private Function Autodial() as Boolean
> Autodial = InternetAutodial(INTERNET_AUTODIAL_FORCE_UNATTENDED,0)
> End Function




Avatar
Zoury
Salut Lou !

c'est ce que j'avais fait mais apparament
rien ne se passe ?????????



exact !

La fonction tente d'établir la connexion internet par défaut si elle n'est
pas déjà établie... Elle retourne TRUE (1) en cas de succès et FALSE (0) en
cas d'échec.. Il n'y a donc rien qui ne se passe visuellement parlant

--
Cordialement
Yanick
MVP pour Visual Basic
1 2