
Σε ένα περιβάλλον Win32, μπορείτε να χρησιμοποιήσετε την κλήση API GetLastInputInfo [δείτε MSDN έγγρ](http://msdn.microsoft.com/en-us/library/ms646302(VS.85).aspx) . Βασικά, η μέθοδος αυτή επιστρέφει την τελευταία τσιμπούρι που αντιστοιχεί όταν ο χρήστης παρέχονται τελευταία είσοδο, και θα πρέπει να συγκρίνουμε με την τρέχουσα τσιμπούρι για να καθορίσει πόσο καιρό πριν που ήταν.


Xavi23cr έχει ένα καλό παράδειγμα για C # σε [codeproject](http://www.codeproject.com/KB/cs/GetIdleTimeWithCS.aspx) .


Οποιεσδήποτε προτάσεις για άλλα περιβάλλοντα;

 
Πώς μπορείτε να πείτε όταν ένας χρήστης τελευταίο πατημένο ένα πλήκτρο (ή να μετακινηθεί το ποντίκι);
=====================================================================================================



Όσο για το Linux, ξέρω ότι Pidgin πρέπει να καθορίσει χρόνο αδράνειας για να αλλάξετε την κατάστασή σας με τα πόδια μετά από ένα ορισμένο χρονικό διάστημα. Μπορείτε να ανοίξετε την πηγή και να δείτε αν μπορείτε να βρείτε τον κώδικα που κάνει ό, τι πρέπει να κάνουμε.

 

Μπορείτε φαίνεται να έχουν απαντήσει την ερώτησή σας εκεί Nathan ;-) «GetLastInputInfo» είναι ο τρόπος να πάει.


Ένα κόλπο είναι ότι αν η αίτησή σας τρέχει στην επιφάνεια εργασίας, και ο χρήστης συνδέεται με μια εικονική μηχανή, τότε GetLastInputInfo θα αναφέρει καμία δραστηριότητα (αφού δεν υπάρχει καμία δραστηριότητα στο μηχάνημα).


Αυτό μπορεί να είναι διαφορετική από τη συμπεριφορά που θέλετε, ανάλογα με το πώς θέλετε να εφαρμόσετε την είσοδο του χρήστη.

 