Um zu verdeutlichen, ich meine Zeit verbrachte, während die System ist ausgesetzt/überwintert, nicht der aufrufende Thread (GetTickCount() gibt die Anzahl der Millisekunden seit Systemstart).Enthält GetTickCount() die Zeit, die für den Status "Suspended" oder "Hibernated" verbracht wurde?
Enthält GetTickCount() die Zeit, die für den Status "Suspended" oder "Hibernated" verbracht wurde?
Antwort
Soweit ich weiß, hat GetTickCount nichts mit Threads zu tun und zählt die Zeit seit dem Systemstart. Aber es ist besser, GetTickCount64 zu verwenden, um den 49,7 Tage dauernden Roleover zu vermeiden.
Übrigens, um zu bekommen, was Sie wollen, brauchen Sie die GetThreadTimes Funktion. Es zeichnet die Erstellungs- und Austrittszeit und die Zeit auf, die der Thread im Benutzer- oder Kernelraum verbracht hat. So haben Sie einen schönen Weg, um die Höhe der Zeit zu berechnen.
Ok, ich habe den "System" -Teil der Frage verpasst. Aber das ist einfach. Im Ruhezustand setzt GetTickCount die Zählung fort. Weil die Leute unter dem 49,7-Tage-Fehler gelitten haben, als der Computer die meiste Zeit im Ruhezustand war. Weitere Informationen finden Sie unter link text.
Ich denke, die ursprüngliche Frage bezieht sich darauf, ob das * System * ausgesetzt oder überwintert ist, nicht ein bestimmter Thread. –
Punkt. Ich habe das komplett vermisst. –
GetTickCount()
gibt Ihnen die Zeit in Millisekunden seit dem Start des Computers. Es hat nichts mit dem Prozess zu tun, der es aufruft.
Kurze Antwort: Ja.
Lange Antwort: Lesen Sie die GetTickCount() docs: Es ist die verstrichene Zeit seit Systemstart und sogar MS würde vorschlagen, nicht, dass die Zeit still steht, während der Computer im Ruhezustand ...
Nein, GetTickCount()
beinhaltet nicht die Zeit, die das System während des Winterschlafs benötigt. Ein einfacher Test beweist das.
in Python:
import win32api
win32api.GetTickCount()
- Sie überwintern -
win32api.GetTickCount()
und Sie werden das Ergebnis ...
Flat falsch und nicht hilfreich - dieses Bit von Python hat keine Möglichkeit, Sie zwischen den GetTickCount Calls Winterschlaf zu halten –
Falsch hier, nur getestet – Evgenyt
sehen Ja, GetTickCount Zeit nicht enthalten Suspend/Hibernate .
Im folgenden Python-Skript rufe ich die Sleep-API auf, um 40 Sekunden zu warten, damit ich den Computer in den Ruhezustand versetzen kann. Ich drucke die Zeit davor und danach und die Tick-Zähldifferenz nach.
import win32api import time print time.strftime("%H:%M:%S", time.localtime()) before = win32api.GetTickCount() print "sleep" win32api.Sleep(40000) print time.strftime("%H:%M:%S", time.localtime()) print str(win32api.GetTickCount()-before)
Ausgang:
17:44:08 sleep 17:51:30 442297
Wenn GetTickCount nicht enthielt die Zeit, während es viel weniger überwintern wäre als die Zeit, die ich für überwinterte, aber es entspricht die tatsächliche Zeit verstrichen (7 Minuten 22 Sekunden gleich 442 Sekunden, dh 442000 Millisekunden "Ticks".
Für eine für Antwort unter Windows CE-Plattform suchen, von docs:
http://msdn.microsoft.com/en-us/library/ms885645.aspx
Sie lesen können:
Zu Release-Konfigurationen, gibt diese Funktion die Anzahl der Millisekunden seit Das Gerät wurde gestartet, mit Ausnahme der Zeit, in der das System ausgesetzt wurde. GetTickCount startet beim Start bei 0 und zählt dann von dort .
- 1. Wie berechnet man die Zeit in Facebook-Anwendung verbracht?
- 2. GetTickCount Verwendung für „Schleife“
- 3. AJAX Zeit auf einer Website verbracht
- 4. Pthreads: programmatisch sammeln Informationen über die Zeit in verschiedenen Staaten verbracht?
- 5. Wie viel Zeit sollte mit Garbage Collection verbracht werden
- 6. Entspricht GetTickCount() auf Linux
- 7. Berechne die Zeit zwischen den Ereignissen
- 8. MySQL-Abfrage: Lange Zeit in "init" -Zustand verbracht
- 9. Wird die erwartete Zeit beim Kopieren der Datei die beste Zeit oder die schlechteste Zeit angezeigt?
- 10. Berechnung der Zeit, die in einer bestimmten Ebene verbracht wird, wenn sich dieser Pegel ändert
- 11. Angemessene Zeit für die Nachricht
- 12. SingleOrDefault() wenn die Sequenz den Standardwert enthält
- 13. Relative URL, die nur den Querystring enthält
- 14. Wie kann die Zeit bestimmt werden, für die das Gerät nicht verwendet wurde?
- 15. Gibt es eine Möglichkeit, die verstrichene Zeit zu erhalten, für die ein Rails-Server ausgeführt wurde?
- 16. programmatisch DatumPicker Zeit auf die aktuelle Zeit
- 17. Methode, die den aktuellen Status zurückgibt
- 18. regulären Ausdruck für die Zeit
- 19. Äquivalent Zeit für die Speicherüberprüfung
- 20. Kann ich die benötigte Zeit für die Berichterstellung mit Macros oder UFT oder iMacros verfolgen?
- 21. Spline-Interpolation für Werte für die Zeit
- 22. Funktion für 'enthält die Matrix den Wert X?'
- 23. Bessere Samen als die Zeit (0)?
- 24. Warum ändert sich die Zeit für den Datenbankzugriff?
- 25. Ob für eine Mitgliedsfunktion oder Freundesfunktion, wenn die Funktion den Status des Objekts ändern soll?
- 26. Effiziente Art der Berechnung der Zeit, die von Maschinen in verschiedenen Zuständen mit einem großen Datensatz verbracht wird
- 27. So stellen Sie die Zeit für den beantworteten Kanal ein
- 28. Wie bekomme ich die genaue Zeit für den ausgehenden Anruf?
- 29. Ich möchte die Zeit für den Start einer Anwendung erhalten
- 30. Ist es möglich, den Status von centralManager wiederherzustellen, nachdem die Anwendung aktualisiert wurde?
Dumme Frage, was passiert, wenn Sie das versuchen? Ich würde das auch, weil ich neugierig auf die Antwort bin, aber ich habe momentan keine aussetzbare Windows-Maschine zur Hand. –