My.Computer.Clock.TickCount (Propiedad)

Actualización: noviembre 2007

Obtiene el recuento de milisegundos del temporizador del sistema del equipo.

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

Valor devuelto

Integer que contiene el recuento de milisegundos del temporizador del sistema del equipo.

Comentarios

La propiedad TickCount proporciona acceso al temporizador del sistema del equipo, que se ejecuta cuando el equipo está activo. La resolución del temporizador no es menor de 500 milisegundos.

Puede utilizar esta propiedad para hacer que el comportamiento de su aplicación dependa del tiempo que lleva en ejecución, o puede usarla para etiquetar eventos, siendo ambas actividades independientes del reloj del equipo.

Precaución:

Cuando el valor de la propiedad TickCount alcanza el valor entero máximo (MaxValue), pasa al valor entero mínimo (MinValue), un número negativo, y continúa incrementándose.

Si el equipo se ejecuta continuamente, TickCount se incrementa desde el cero al valor entero máximo en aproximadamente 24,9 días.

La propiedad TickCount sólo se incrementa cuando el sistema operativo está en ejecución; efectúa una pausa cuando el equipo entra en determinados modos de ahorro de energía, como suspensión o hibernación. La propiedad TickCount no está relacionada con la configuración del reloj del equipo.

Utilice la My.Computer.Clock.LocalTime (Propiedad) o la My.Computer.Clock.GmtTime (Propiedad) para obtener la fecha y hora locales actuales de este equipo.

La propiedad My.Computer.Clock.TickCount tiene el mismo comportamiento que la propiedad Environment.TickCount.

Ejemplo

El ejemplo siguiente utiliza la propiedad My.Computer.Clock.TickCount para ejecutar una tarea en un bucle durante un número determinado de segundos, incluso si cambia la hora del sistema del equipo mientras se ejecuta.

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

Requisitos

Espacio de nombres:Microsoft.VisualBasic.Devices

Clase:Clock

Ensamblado: biblioteca en tiempo de ejecución de Visual Basic (en Microsoft.VisualBasic.dll)

Disponibilidad por tipo de proyecto

Tipo de proyecto

Disponible

Aplicación para Windows

Biblioteca de clases

Aplicación de consola

Biblioteca de controles de Windows

Biblioteca de controles Web

Servicio de Windows

Sitio Web

Permisos

No se requiere ningún permiso.

Vea también

Referencia

My.Computer.Clock (Objeto)

Environment.TickCount

Clock.TickCount