My.Computer.Clock.TickCount-Eigenschaft

Aktualisiert: November 2007

Ruft die Anzahl der Millisekunden vom Systemzeitgeber des Computers ab.

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

Rückgabewert

Ein Integer, das die Anzahl der Millisekunden vom Systemzeitgeber des Computers enthält.

Hinweise

Die TickCount-Eigenschaft ermöglicht den Zugriff auf den Systemzeitgeber des Computers, der ausgeführt wird, wenn der Computer aktiv ist. Die Auflösung des Zeitgebers beträgt mindestens 500 Millisekunden.

Sie können mit dieser Eigenschaft festlegen, dass das Verhalten der Anwendung von der Zeitspanne abhängt, während der sie bereits ausgeführt wurde, oder Sie können mit der Eigenschaft Ereignisse bezeichnen. Beide Verwendungsarten sind von der Uhr des Computers unabhängig.

Vorsicht:

Wenn der Wert der TickCount-Eigenschaft den maximalen ganzzahligen Wert (MaxValue) erreicht, nimmt er den minimalen ganzzahligen Wert (MinValue), an, der eine negative Zahl ist, und setzt die Erhöhung des Werts fort.

Bei einer kontinuierlichen Ausführung des Computers wird TickCount im Lauf von ca. 24,9 Tagen von 0 (null) bis zum maximalen ganzzahligen Wert erhöht.

Der Wert der TickCount-Eigenschaft wird nur erhöht, wenn das Betriebssystem ausgeführt wird. Die Erhöhung wird unterbrochen, wenn der Computer in einen bestimmten Energiesparmodus, z. B. in den Standbymodus oder in den Ruhezustand, wechselt. Die TickCount-Eigenschaft hat keinen Bezug zur Einstellung der Uhr des Computers.

Verwenden Sie die My.Computer.Clock.LocalTime-Eigenschaft oder die My.Computer.Clock.GmtTime-Eigenschaft, um das aktuelle lokale Datum und die aktuelle lokale Uhrzeit auf dem Computer abzurufen.

Die My.Computer.Clock.TickCount-Eigenschaft weist das gleiche Verhalten wie die Environment.TickCount-Eigenschaft auf.

Beispiel

Im folgenden Beispiel wird die My.Computer.Clock.TickCount-Eigenschaft verwendet, um eine Aufgabe für eine bestimme Anzahl von Sekunden in einer Schleife auszuführen, selbst wenn sich die Systemzeit des Computers während der Ausführung ändert.

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

Anforderungen

Namespace: Microsoft.VisualBasic.Devices

Klasse: Clock

Assembly: Visual Basic-Laufzeitbibliothek (in Microsoft.VisualBasic.dll)

Verfügbarkeit nach Projekttyp

Projekttyp

Verfügbar

Windows-Anwendung

Ja

Klassenbibliothek

Ja

Konsolenanwendung

Ja

Windows-Steuerelementbibliothek

Ja

Web-Steuerelementbibliothek

Ja

Windows-Dienst

Ja

Website

Ja

Berechtigungen

Es sind keine Berechtigungen erforderlich.

Siehe auch

Referenz

My.Computer.Clock-Objekt

Environment.TickCount

Clock.TickCount