ErB
-
26 sept. 2001 à 10:40
cs_Mercure
Messages postés5Date d'inscriptionmardi 13 août 2002StatutMembreDernière intervention13 juin 2014
-
21 avril 2004 à 07:54
bonjour
comme plein d'autre je cherche comment fermer la connection intenet ouverte en lancant IE avec la methode navigate2 (ou autre)
' (1) demande la connexion internet, retourne true ou false si abandon
Public Declare Function InternetAttemptConnect Lib "wininet" (ByVal dwReserved As Long) As Long
' (2) déconnecte le modem
Public Declare Function InternetAutodialHangup Lib "wininet" (ByVal dwReserved As Long) As Long
' (3) test si liaison modem active
Public Declare Function InternetGetConnectedState Lib "wininet" (ByVal DwFlags As Long, ByVal dwReserved As Long) As Long
Ca marche ...
exemple: en entrée de programme, tester si internet déjà connecté (3)... et garder l'info pour qu'en sortie on raccroche la ligne ou non (2)...
exemple: si (3) revoie non connecté, on connecte avec (1), et sait si l'opérateur a abandonné la connexion on non...
' ****************************************************************
' *** A METTRE DANS UN MODULE ***
'*********************************************************************
' ---------------------------------------------------------------------
' DEFINITIONS DES API
' ---------------------------------------------------------------------
' mise en attente de la tache durant n millisecond (ça peut servir pour
' mettre la tâche en sourdine sans utiliser un contrôle timer ou une
' boucle de programme)
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
' demande la connexion internet, retourne true ou false si abandon
Public Declare Function InternetAttemptConnect Lib "wininet" (ByVal dwReserved As Long) As Long
' déconnecte le modem
Public Declare Function InternetAutodialHangup Lib "wininet" (ByVal dwReserved As Long) As Long
' test si liaison modem active
Public Declare Function InternetGetConnectedState Lib "wininet" (ByVal DwFlags As Long, ByVal dwReserved As Long) As Long
' ---------------------------------------------------------------------
' 3 FONCTIONS DANS LE MEME MODULE
' ----------------------------------------------------------------------
Public Function WinSock_Connect()
' test si liaison modem active sur internet
WinSock_Connect = WinSock_Modem
If WinSock_Connect = True Then Exit Function
' établir la liaison internet
If InternetAttemptConnect(ByVal 0&) = 0 Then
WinSock_Connect = True 'connexion établie
Else
MsgBox "La liaison par modem vers internet n'est pas établie...", vbInformation
WinSock_Connect = False 'connexion non établie
End If
' repositionner la fenêtre
Screen.ActiveForm.ZOrder
DoEvents
End Function
' ----------------------------------------------------------------------
Public Sub WinSock_Disconnect()
Dim Ret As Long
Ret = InternetAutodialHangup(0)
End Sub
' ----------------------------------------------------------------------
Public Function WinSock_Modem()
' renvoi true si liaison internet par modem active, false si non
Dim DwFlags As Long
WinSock_Modem = CBool(InternetGetConnectedState(DwFlags, 0&))
End Function
' ----------------------------------------------------------------------
' *********************************************************************
' *** A METTRE DANS LE PROGRAMME
' *********************************************************************
' quelque part en entrée de programme on garde l'état de la connexion
' avant d'entrer dans le programme (si connecté avant ça peut être
' utile de resortir connecté)
dim Internet as boolean
Internet = Winsock_Modem
' ...
' ... plus tard ...
' ...
' demande de connexion à internet
if Winsock_Connect=true then
msgbox "La connexion est établie"
'...
else
msgbox "La connexion a échoué"
'...
endif
' ...
' ... beaucoup plus tard ...
' ...
' fin de programme
' connexion active en entrée de programme
if Internet=false then
' on raccroche (pur et dur)
Winsock_Disconnect
else
' demander de raccrocher
If msgbox ("Faut-il déconnecter ?",VbYesNo) = VbYes then
Winsock_Disconnect
endif
endif
cs_Mercure
Messages postés5Date d'inscriptionmardi 13 août 2002StatutMembreDernière intervention13 juin 2014 21 avril 2004 à 07:54
Mercure
Déconnecter c'est bien mais est-il possible de désactiver le modem par une fonction API pour éviter qu'une reconnexion soit possible (cas d'un forfait à durée limitée).