language agnostic - Comment savoir quand un utilisateur a appuyé pour la dernière fois sur une touche (ou a déplacé la souris)?

Translate

Dans un environnement Win32, vous pouvez utiliser l'appel d'API GetLastInputInfo dansDocumentation Microsoft. Fondamentalement, cette méthode renvoie la dernière graduation qui correspond à la date à laquelle l'utilisateur a fourni la dernière entrée, et vous devez la comparer à la graduation actuelle pour déterminer combien de temps il y a.

Xavi23cr a un bon exemple pour C # àcodeprojet.

Des suggestions pour d'autres environnements?

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

Toutes les réponses

Translate

Quant à Linux, je sais que Pidgin doit déterminer le temps d'inactivité pour changer votre statut en absent après un certain temps. Vous pouvez ouvrir la source et voir si vous pouvez trouver le code qui fait ce dont vous avez besoin.

La source
Translate

Vous semblez avoir répondu à votre propre question Nathan ;-) "GetLastInputInfo" est la voie à suivre.

Une astuce est que si votre application s'exécute sur le bureau et que l'utilisateur se connecte à une machine virtuelle, GetLastInputInfo ne signalera aucune activité (car il n'y a aucune activité sur la machine hôte).

Cela peut être différent du comportement souhaité, en fonction de la manière dont vous souhaitez appliquer l'entrée utilisateur.

La source