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.