Si tu veux être assez précis :
Code :
' ***** N'a pas été testé *****
Option Explicit
Declare Function QueryPerformanceCounter Lib "Kernel32" (X As Currency) As Boolean
Declare Function QueryPerformanceFrequency Lib "Kernel32" (X As Currency) As Boolean
Declare Function GetTickCount Lib "Kernel32" () As Long
Declare Function timeGetTime Lib "winmm.dll" () As Long
Private m_curDebut as Currency
Private m_curFreq as Currency
'
' A appeler lors du début du progamme
'
Private Sub Initialize()
If QueryPerformanceCounter(m_curDebut) Then
QueryPerformanceFrequency m_curFreq
Else
Debug.Print "High-resolution counter not supported."
End If
End Sub
'
' Retourne le nombre de secondes écoulées depuis le dernier appel de Initialize
'
Public Function QuerryUptime() as Double
Dim curNow as Currency
QueryPerformanceFrequency curNow
QuerryUptime = CDbl((curNow - m_curDebut) / m_curFreq)
End Function
C'est précis, mais il faut savoir qu'il risque d'avoir un léger moment entre le vrai début de l'application et l'appel de Initalize et l'initialisation de m_curDebut.
http://support.microsoft.com/default.as ... bContent=1
Pour être encore plus précis et avoir le temps depuis lequel le processus est actif, il faudrait utiliser ceci :
GetProcessTimes() afin de connaître la date-heure du début du processus
Ça va demander un peu plus de code et ça me tente pas de faire le travail !
