Partilhar via


Propriedade My.Computer.Clock.TickCount

Obtém a contagem em milisegundos do timer do sistema do computador.

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

Valor de retorno

Valor de propriedade

Um Integer contendo a contagem de milissegundos do Timer do sistema do computador.

Comentários

A propriedade TickCount fornece acesso ao Timer do sistema do computador, que é executado quando o computador está ativo.A resolução do timer é não menor do que 500 milissegundos.

Você pode usar essa propriedade para tornar o comportamento do aplicativo dependente do período de tempo que ele tiver sido executado ou você pode usá-lo para rotular eventos, já que ambos são independentes do relógio do computador.

Cuidado:

Quando o valor da TickCount propriedade atinge o () valor inteiro máximoMaxValue), em seguida, ele salta para o () valor mínimo inteiroMinValue), um número negativo e continua a incrementar.

Se o computador executar continuamente, TickCount sai de zero até o máximo valor inteiro em aproximadamente 24.9 dias.

A propriedade TickCount incrementa somente quando o sistema operacional está sendo executado; ela pausa quando o computador entrar em determinados modos de economia de energia - como standby ou hibernação.A propriedade TickCount não está relacionada à configuração do relógio do computador.

Use o Propriedade My.Computer.Clock.LocalTime ou Propriedade My.Computer.Clock.GmtTime para obter a data local atual e a hora no computador.

A propriedade My.Computer.Clock.TickCount tem o mesmo comportamento que a propriadade Environment.TickCount.

Exemplo

O exemplo a seguir usa a propriedade My.Computer.Clock.TickCount para executar uma tarefa em um loop por um determinado número de segundos, mesmo se a hora do sistema for alterada enquanto ele é executado.

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

Namespace:Microsoft.VisualBasic.Devices

Classe:Clock

Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Disponibilidade por Tipo de Projeto

Tipo de Projeto

Disponível

Aplicativo do Windows

Sim

Biblioteca de Classe

Sim

Aplicativo de Console

Sim

Biblioteca de Controle do Windows

Sim

Biblioteca de Controle da Web

Sim

Serviço do Windows

Sim

Site

Sim

Permissões

Não requer nenhuma permissão.

Consulte também

Referência

Objeto My.Computer.Clock

Environment.TickCount

Clock.TickCount