Es kann also sein, dass beim Einen ein Überlauf eintritt, beim Anderen aber nicht (sofern ich keinen groben Denkfehler mache).
Genau um diese Möglichkeit geht es. Und genau deswegen kann der zweite Wert deutlich kleiner sein als der erste.
@Bummi: kein Delphi hier zur Hand. Demo des Überlauf's verstehe ich, aber ob dort das zu erwartende Ergebnis kommt, weiß ich erst nach Testlauf
GetLastInputInfo -> Zeit seit der letzten Benutzeraktion in der aktuellen Session
Eben nicht. Wert von GetTickCount zu dem Zeitpunkt als die letzte Benutzeraktion erfolgte.
Nicht seit, sondern als.
Nachtrag:
Bei der Differenzberechnung hat ein "Überlauf" in diesen Werten keine Auswirkung, solange beide Werte keine Differenz von mehr als die 47 Tage haben.
Nicht? Wir sind uns einig, daß $FFFFFFFF die 49,7 Tage sind, korrekt? Wir sind uns einig, daß der Benutzer 30min vor Überlauf ($FFFFF8F7) eine Aktion gemacht haben könnte? Wenn ich nun 35min nach der letzten Aktion GetTickCount aufrufe (= 5min nach Überlauf = $12C), sind wir uns auch einig, daß der Differenzwert die 35min (in Sekunde) betragen
sollte, was weniger als 49,7 Tage
ist ... richtig?
Nunja, dank Überlauf stimmt die Rechnung nun leider nicht mehr ganz. Denn $12C - $FFFFF8F7 ... und das alles ohne Vorzeichen kann ziemlichen Quark hervorbringen
Soo, 1s Abweichung in den obigen Rechnungen mögen mir gestattet sein