Connexion/deconnexion internet

tHiE - 15 déc. 2001 à 22:41
ZTPdiffusion Messages postés 46 Date d'inscription lundi 16 avril 2001 Statut Membre Dernière intervention 7 mars 2002 - 16 déc. 2001 à 21:00
hello tous
j'ai 3 micros chez moi en reseaux dont 1 sert pour internet
la connexion est partagee sur ces 3 pc et je veux donner a tel ou tel micro un certains nombre d'heures possibles de connexion
ex: 10 heure au total -->micro1=5h-->micro2=3h et micro3=2h
vous l'avez devine je veux creer un compteur qui demarre automatiquement des qu'un pc se connecte et s'arrete auto des que le temps permis est arrive donc:
1 -comment detecter des qu'une personne se connecte et ainsi que mon appli demarre et comptabilise le temps
2 - comment detecter des que la personne se deconnecte

1 réponse

ZTPdiffusion Messages postés 46 Date d'inscription lundi 16 avril 2001 Statut Membre Dernière intervention 7 mars 2002
16 déc. 2001 à 21:00
Salut

Voici un exemple :

Code à placer dans un module : il sert à détecter une connection internet

Option Explicit

'Déclaration des API
Private Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As Long
Private Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long

'Déclaration des constantes
Private Const RAS95_MaxEntryName = 256
Private Const RAS95_MaxDeviceType = 16
Private Const RAS95_MaxDeviceName = 32

'Déclaration des types
Private Type RASCONN95
dwSize As Long
hRasCon As Long
szEntryName(RAS95_MaxEntryName) As Byte
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type

Private Type RASCONNSTATUS95
dwSize As Long
RasConnState As Long
dwError As Long
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type

Dim DetectActive As Boolean

Public Function IsConnected() As Boolean
Dim TRasCon(255) As RASCONN95
Dim lg As Long
Dim lpcon As Long
Dim RetVal As Long
Dim Tstatus As RASCONNSTATUS95

TRasCon(0).dwSize = 412
lg = 256 * TRasCon(0).dwSize

RetVal = RasEnumConnections(TRasCon(0), lg, lpcon)
If RetVal <> 0 Then
MsgBox "Une erreur s'est produite.", vbOKCancel + vbCritical, "Détection d'une connection"
Exit Function
End If

Tstatus.dwSize = 160
RetVal = RasGetConnectStatus(TRasCon(0).hRasCon, Tstatus)

If Tstatus.RasConnState = &H2000 Then
IsConnected = True
Else
IsConnected = False
End If

End Function

******************************************
Code à insérer dans une feuille (c'est un exemple)
La feuille doit contenir un label (label1) et deux timer (timer1 et timer2)

Private Sub Timer1_Timer()
If IsConnected = False Then
Form1.WindowState = 1
Exit Sub
Else
'Démarrer le programme
Timer2.Enabled = True
Form1.WindowState = 0
End If
End Sub
Private Sub Timer2_Timer()
'Mettre la condition d'arrêt du programme
Label1.Caption = Time
End Sub

a+
0
Rejoignez-nous