tHiE
-
15 déc. 2001 à 22:41
ZTPdiffusion
Messages postés46Date d'inscriptionlundi 16 avril 2001StatutMembreDerniè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
ZTPdiffusion
Messages postés46Date d'inscriptionlundi 16 avril 2001StatutMembreDerniè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 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
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