Connaitre si l'ordi est connecté à Internet lorsque celui-ci passe par un proxy
Le
Bull
Bonjour,
J'avais posté un message il y a un moment pour savoir comment tester si une
machine était connectée à Internet sans passer par un ping de google par ex.
On m'avait donné le script suivant qui fonctionne très bien :
Public Class NetworkManagement
<DllImport("wininet", SetLastError:=True)> _
Private Shared Function InternetGetConnectedState _
( _
ByRef dwFlags As Int32, _
ByVal dwReserved As Int32 _
) As Boolean
'
End Function
Public Shared Function IsOnline() As Boolean
Return InternetGetConnectedState(0, 0)
End Function
Public Shared Function GetConnectionMode() As InternetConnectionMode
Dim iFlag As Int32
Dim sEnumNames() As String
Dim arEnumValues As Array
Dim t As Type
Dim i As Int32
If (InternetGetConnectedState(iFlag, 0)) Then
t = InternetConnectionMode.Modem.GetType()
sEnumNames = [Enum].GetNames(t)
arEnumValues = [Enum].GetValues(t)
For i = 0 To sEnumNames.Length - 1
If (iFlag And CType(arEnumValues.GetValue(i), String)) Then
' on a trouvé une connection
Return [Enum].Parse(t, sEnumNames(i))
End If
Next i
End If
' aucune connection
Return InternetConnectionMode.None
End Function
End Class
'***
'***
' EInternetConnectionMode.vb
Public Enum InternetConnectionMode As Integer
None = &H0
Modem = &H1 ' INTERNET_CONNECTION_MODEM
Lan = &H2 ' INTERNET_CONNECTION_LAN
Proxy = &H3 ' INTERNET_CONNECTION_PROXY
End Enum
Private Sub ping()
If NetworkManagement.IsOnline() Then
connected = True
Else
StatusBarPanel.Text = langueINI.ReadString("StatusBar", "ConnectionFailure")
connected = False
End If
End Sub
Mon problème maintenant est que lorsque l'ordi dont il faut tester la
connexion Internet passe par un proxy, ce code donne tjs connected = False.
J'aimerais donc savoir s'il existe un moyen similaire de tester si le pc est
connecté à internet via un proxy (sans avoir bien sûr à pinguer un site).
Merci d'avance,
Bull
J'avais posté un message il y a un moment pour savoir comment tester si une
machine était connectée à Internet sans passer par un ping de google par ex.
On m'avait donné le script suivant qui fonctionne très bien :
Public Class NetworkManagement
<DllImport("wininet", SetLastError:=True)> _
Private Shared Function InternetGetConnectedState _
( _
ByRef dwFlags As Int32, _
ByVal dwReserved As Int32 _
) As Boolean
'
End Function
Public Shared Function IsOnline() As Boolean
Return InternetGetConnectedState(0, 0)
End Function
Public Shared Function GetConnectionMode() As InternetConnectionMode
Dim iFlag As Int32
Dim sEnumNames() As String
Dim arEnumValues As Array
Dim t As Type
Dim i As Int32
If (InternetGetConnectedState(iFlag, 0)) Then
t = InternetConnectionMode.Modem.GetType()
sEnumNames = [Enum].GetNames(t)
arEnumValues = [Enum].GetValues(t)
For i = 0 To sEnumNames.Length - 1
If (iFlag And CType(arEnumValues.GetValue(i), String)) Then
' on a trouvé une connection
Return [Enum].Parse(t, sEnumNames(i))
End If
Next i
End If
' aucune connection
Return InternetConnectionMode.None
End Function
End Class
'***
'***
' EInternetConnectionMode.vb
Public Enum InternetConnectionMode As Integer
None = &H0
Modem = &H1 ' INTERNET_CONNECTION_MODEM
Lan = &H2 ' INTERNET_CONNECTION_LAN
Proxy = &H3 ' INTERNET_CONNECTION_PROXY
End Enum
Private Sub ping()
If NetworkManagement.IsOnline() Then
connected = True
Else
StatusBarPanel.Text = langueINI.ReadString("StatusBar", "ConnectionFailure")
connected = False
End If
End Sub
Mon problème maintenant est que lorsque l'ordi dont il faut tester la
connexion Internet passe par un proxy, ce code donne tjs connected = False.
J'aimerais donc savoir s'il existe un moyen similaire de tester si le pc est
connecté à internet via un proxy (sans avoir bien sûr à pinguer un site).
Merci d'avance,
Bull

Poser une question


Un exemple tout fait est donné dans MSDN :
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003...ternet.htm
:)
"Bull"
voudrais essayer d'éviter cela si possible. Une idée ? :)
"AlexC" message de news:
connecté sinon ben non ;)
"Bull" news:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003...kCodeExamp
leDeterminingIfComputerIsConnectedToInternet.htm
google
pc
web pour rien ;-)
Bon pas grave, vais me débrouiller
merci :)
"AlexC" message de news:
page comme celle de google doit etre d'à peine quelques Ko ... si on faisait
une requete de 3Go là je veux bien ..
mais bon si tu trouve une autre solution je suis preneur ! :)
"Bull" news:%
es
le
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003...kCodeExamp
la
le
un