Depuis combien de temps l'appli est ouverte ?

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 322 fois - Téléchargée 55 fois

Contenu du snippet

Je sais que ce code est très simple, mais bien souvent les gens utilise un timer réglé a 1000 MS. Mais cette astuce est mauvaise puisque le timer en VB est pas très précis (Tester sur Win9x et ensuite sur 2k/XP c'est déchirant)

Source / Exemple :


Private Declare Function GetTickCount Lib "kernel32" () As Long
Dim depart As Long

Public Function Sec2time(Total As Long) As String
Dim a As String
Total = Total / 1000
If ((Total) / 3600) > 1 Then
    a = Int(Total / 3600)
    Sec2time = a & " Heures " & Int((Total / 60) - (a * 60)) & " Mins " & Int((Total) - (a * 3600) - (Int(((Total) / 60) - (a * 60)) * 60)) & " Secs"
Else
    If (Total / 60) > 1 Then
        a = Int(Total / 60)
        Sec2time = a & " Mins " & Int(Total - (a * 60)) & " Secs"
    Else
        Sec2time = Int(Total) & " Secs"
    End If
End If
End Function

Private Sub Form_Load()
    depart = GetTickCount
End Sub

Private Sub TimRefresh_Timer()
    Label1.Caption = "Appli ouverte depuis " & Sec2time(GetTickCount - depart)
    Label2.Caption = "La machine est ouverte depuis " & Sec2time(GetTickCount)
End Sub

Conclusion :


www.psycomaxter.fr.st <= Nouvelle version

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
jeudi 26 février 2009
Statut
Membre
Dernière intervention
28 juin 2011

merci
Messages postés
3
Date d'inscription
jeudi 23 janvier 2003
Statut
Membre
Dernière intervention
23 avril 2003

Je ne sais pas si le code est bon mais je suis épater....il faut dire que je commence à peine savoir comment faire des InputBox(dsl...)
Messages postés
188
Date d'inscription
mercredi 15 mai 2002
Statut
Membre
Dernière intervention
25 avril 2009

Un truc qui serait bien c de faire la même chose mais avec les toutes applis...
Je pense que si tu cherche dans les fichiers dépendants des handles en cours et de leur première date d'accès, tu pourra surment faire qq chose de très utile.
Attention, ces commentaires sont théoriques, y a peut-être d'autres méthodes.
Mais l'idée reste intéressante.
Have Fun ;)
Messages postés
439
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
1
désolé.... je revois ma copie et je reviens -;)
Messages postés
439
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
1
Excusez moi mais j'étais pas bien réveillé !!

voilà le bon code :
Private Sub TimRefresh_Timer()
Static Sec As Long, Hour As Long, Min As Long

Sec = Abs(DateDiff("s", Now, mStartTime) Mod 60)
Min = (Abs(DateDiff("s", Now, mStartTime)) / 120) Mod 60
Hour = DateDiff("h", Now, mStartTime) Mod 24

lblHeure.Caption = Format(Hour, "00:") & Format(Min, "00:") & Format(Sec, "00")
End Sub

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.