Condividi tramite


Proprietà My.Computer.Clock.TickCount

Aggiornamento: novembre 2007

Ottiene il conteggio in millisecondi dal timer di sistema del computer.

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

Valore restituito

Valore Integer contenente il conteggio in millisecondi dal timer di sistema del computer.

Note

La proprietà TickCount consente di accedere al timer di sistema del computer, che è in funzione quando il computer è attivo. La risoluzione del timer non può essere inferiore a 500 millisecondi.

Questa proprietà può essere utilizzata per fare in modo che il comportamento di un'applicazione dipenda da quanto tempo è rimasta in esecuzione, oppure la si può usare per assegnare etichette agli eventi; entrambe le situazioni sono indipendenti dall'orologio del computer.

Attenzione:

Quando il valore della proprietà TickCount raggiunge il valore integer massimo (MaxValue), torna automaticamente al valore integer minimo (MinValue), un numero negativo, e continua a incrementare.

Se il computer resta continuamente in esecuzione, la proprietà TickCount incrementa da zero al valore integer massimo in circa 24,9 giorni.

La proprietà TickCount incrementa soltanto quando il sistema operativo è in esecuzione; si ferma quando il computer entra in modalità di risparmio energetico, ad esempio quando passa in modalità standby o sospensione. La proprietà TickCount non è correlata alla funzione di impostazione dell'orologio del computer.

Utilizzare la proprietà Proprietà My.Computer.Clock.LocalTime o Proprietà My.Computer.Clock.GmtTime per ottenere la data e l'ora locale correnti del computer.

La proprietà My.Computer.Clock.TickCount ha lo stesso comportamento della proprietà Environment.TickCount.

Esempio

Nell'esempio seguente viene utilizzata la proprietà My.Computer.Clock.TickCount per eseguire un'attività in modalità ciclica per un dato numero di secondi, anche se l'ora di sistema del computer cambia durante l'esecuzione.

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

Requisiti

Spazio dei nomi:Microsoft.VisualBasic.Devices

Classe:Clock

Assembly: libreria di runtime di Visual Basic (in Microsoft.VisualBasic.dll)

Disponibilità per tipo di progetto

Tipo di progetto

Disponibile

Applicazione Windows

Libreria di classi

Applicazione di console

Libreria di controlli Windows

Libreria di controlli Web

Servizio Windows

Sito Web

Autorizzazioni

Non sono richieste autorizzazioni.

Vedere anche

Riferimenti

Oggetto My.Computer.Clock

Environment.TickCount

Clock.TickCount