Partager via


My.Computer.Clock.TickCount, propriété

Mise à jour : novembre 2007

Obtient le nombre de millisecondes de l'horloge système de l'ordinateur.

' Usage
Dim value As Integer = My.Computer.Clock.TickCount
' Declaration
Public ReadOnly Property TickCount As Integer

Valeur de retour

Integer qui contient le nombre de millisecondes de l'horloge système de l'ordinateur.

Notes

La propriété TickCount fournit un accès à l'horloge système de l'ordinateur qui fonctionne lorsque l'ordinateur est actif. La résolution de minuterie n'est pas inférieure à 500 millisecondes.

Vous pouvez utiliser cette propriété pour définir le comportement de votre application en fonction de sa durée de fonctionnement, ou vous pouvez l'utiliser pour étiqueter des événements ; ces deux utilisations sont indépendantes de l'horloge de l'ordinateur.

Attention :

Lorsque la valeur de la propriété TickCount atteint la valeur entière maximale (MaxValue), elle passe à la valeur entière minimale (MinValue), un nombre négatif, puis continue à incrémenter.

Si l'ordinateur fonctionne en continu, TickCount incrémente de zéro à la valeur entière maximale dans environ 24,9 jours.

La propriété TickCount incrémente uniquement lorsque le système d'exploitation est en cours d'exécution ; elle s'arrête lorsque l'ordinateur active certains modes d'économie d'énergie, par exemple la mise en veille ou la mise en veille prolongée. La propriété TickCount n'est pas liée au paramètre de l'horloge de l'ordinateur.

Utilisez la propriété My.Computer.Clock.LocalTime ou My.Computer.Clock.GmtTime pour obtenir la date et l'heure locales actuelles sur cet ordinateur.

La propriété My.Computer.Clock.TickCount a le même comportement que la propriété Environment.TickCount.

Exemple

L'exemple suivant utilise la propriété My.Computer.Clock.TickCount pour exécuter une tâche dans une boucle pendant un nombre de secondes spécifique, même si l'horloge système de l'ordinateur change pendant son exécution.

Public Sub LoopTask(ByVal secondsToRun As Integer)
    Dim startTicks As Integer = My.Computer.Clock.TickCount
    Do While IsTimeUp(startTicks, secondsToRun)
        ' Code to run for at least secondsToRun seconds goes here.
    Loop
End Sub

Private Function IsTimeUp( _
    ByVal startTicks As Integer, _
    ByVal seconds As Integer _
) As Boolean
    ' This function throws an overflow exception if the
    ' tick count difference is greater than 2,147,483,647,  
    ' about 24 days for My.Computer.Clock.TickCount.

    ' Use UInteger to simplify the code for roll over.
    Dim uStart As UInteger = _
        CUInt(CLng(startTicks) - Integer.MinValue)
    Dim uCurrent As UInteger = _
        CUInt(CLng(My.Computer.Clock.TickCount) - Integer.MinValue)

    ' Calculate the tick count difference.
    Dim tickCountDifference As UInteger
    If uStart <= uCurrent Then
        tickCountDifference = uCurrent - uStart
    Else
        ' Tick count rolled over.
        tickCountDifference = UInteger.MaxValue - (uStart - uCurrent)
    End If

    ' Convert seconds to milliseconds and compare.
    Return CInt(tickCountDifference) < (seconds * 1000)
End Function

Configuration requise

Espace de noms :Microsoft.VisualBasic.Devices

Classe :Clock

Assembly : bibliothèque runtime Visual Basic (dans Microsoft.VisualBasic.dll)

Disponibilité par type de projet

Type de projet

Disponible

Application Windows

Oui

Bibliothèque de classes

Oui

Application console

Oui

Bibliothèque de contrôles Windows

Oui

Bibliothèque de contrôles Web

Oui

Service Windows

Oui

Site Web

Oui

Autorisations

Aucune autorisation n'est requise.

Voir aussi

Référence

My.Computer.Clock, objet

Environment.TickCount

Clock.TickCount