language agnostic - Wie können Sie feststellen, wann ein Benutzer zuletzt eine Taste gedrückt (oder die Maus bewegt) hat?

Translate

In einer Win32-Umgebung können Sie den API-Aufruf GetLastInputInfo verwendenMicrosoft-Dokumentation. Grundsätzlich gibt diese Methode den letzten Tick zurück, der dem Zeitpunkt entspricht, zu dem der Benutzer zuletzt Eingaben gemacht hat, und Sie müssen diesen mit dem aktuellen Tick vergleichen, um festzustellen, wie lange das her ist.

Xavi23cr hat ein gutes Beispiel für C # atCodeprojekt.

Anregungen für andere Umgebungen?

This question and all comments follow the "Attribution Required."

Alle Antworten

Translate

Was Linux betrifft, weiß ich, dass Pidgin die Leerlaufzeit bestimmen muss, um Ihren Status nach einer bestimmten Zeit in Abwesenheit zu ändern. Sie können die Quelle öffnen und prüfen, ob Sie den Code finden, der das tut, wofür Sie ihn benötigen.

Quelle
Translate

Sie scheinen dort Ihre eigene Frage beantwortet zu haben, Nathan ;-) "GetLastInputInfo" ist der richtige Weg.

Ein Trick besteht darin, dass GetLastInputInfo keine Aktivität meldet, wenn Ihre Anwendung auf dem Desktop ausgeführt wird und der Benutzer eine Verbindung zu einer virtuellen Maschine herstellt (da auf dem Hostcomputer keine Aktivität vorhanden ist).

Dies kann sich von dem gewünschten Verhalten unterscheiden, je nachdem, wie Sie die Benutzereingaben anwenden möchten.

Quelle