Suche Funktion um die Zeit in Ticks anzuzeigen
-
Danke dir, __int64 hat geklappt. Hast du vieleicht noch ein Beispiel zu GetTickCount64 ?
-
bruce85 schrieb:
Hast du vieleicht noch ein Beispiel zu GetTickCount64 ?
Nicht wirklich.
Allerdings laut MSDN http://msdn.microsoft.com/en-us/library/ms724411(v=VS.85).aspx hat die Funktion keine Parameter und gibt die Ticks als ULONGLONG also __int64 zurück.Folgendes sollte funktionieren:
__int64 iTicks = GetTickCount64();
-
Wäre ULONGLONG nicht unsigned __int64?
-
Joe_M. schrieb:
Wäre ULONGLONG nicht unsigned __int64?
Du hats natürlich recht, daß unsigned __int64 die korrektere Variante ist
Allerdings sehe ich hier, ob signed oder unsigned, keinerlei Probeme, da GetTickCount() in einer unsigned 32 bit Variable 49,7 Tage speichern kann.
Was ich damit sagen will, daß ein Überlauf im Normalfall sehr unwarscheinlich ist.
-
Danke dür eure Antworten, aber GetTickCount64(); kann nicht gefunden werden:
[C++ Fehler] Unit1.cpp(77): E2268 Aufruf der undefinierten Funktion 'GetTickCount64'
muss ich noch irgendeine Header Datei mit einbinden?
-
Dafür braucht man winbase.h. Die Funktion gibt es auch erst seit Vista.
-
Wie Braunstein sagt:
#if (_WIN32_WINNT >= 0x0600) WINBASEAPI ULONGLONG WINAPI GetTickCount64( VOID ); #endif
-
Ich bekomme es einfach nicht zum laufen, meine winbase.h scheint wohl veraltet zu sein.
Gibt es keine andere Möglichkeit an die Ticks zu kommen. Das Programm soll ja auf allen Windows Systeme laufen.
-
Hallo
Wie schon erwähnt, ist GetTickCount64 erst ab Windows Vista verfügbar. Das läßt sich nicht ändern. Wenn du Vista nicht hast und/oder für alle Windows-Systeme offen bleiben willst, dann verwende GetTickCount (ohne 64). Für deine Zwecke dürfte die Einschränkung von 32-int nicht relevant sein.
bis bald
akari
-
Ja aber GetTickCount Zeigt mir ja nur an, wie lange das System online ist. Wie aber komme ich an die Ticks der normalen Uhrzeit?