Сведения о вопросе

Gentleman

16:03, 1st July, 2020

Теги

Как вы можете сказать, когда пользователь в последний раз нажал клавишу (или переместил мышь)?

Просмотров: 480   Ответов: 2

В среде Win32 можно использовать вызов GetLastInputInfo API в документации Microsoft . В принципе, этот метод возвращает последний тик, который соответствует тому, когда пользователь в последний раз предоставил ввод, и вам нужно сравнить его с текущим тиком, чтобы определить, как давно это было.

Xavi23cr имеет хороший пример для C# в codeproject .

Любые предложения для других сред?



  Сведения об ответе

#hash

18:03, 1st July, 2020

Что касается Linux, я знаю, что Pidgin должен определить время простоя, чтобы изменить свой статус на away через определенное время. Вы можете открыть исходный код и посмотреть, сможете ли вы найти код, который делает то, что вам нужно.


  Сведения об ответе

PHPH

18:03, 1st July, 2020

Похоже, вы сами ответили на свой вопрос, Натан ;-) "GetLastInputInfo"-это путь вперед.

Один из трюков заключается в том, что если ваше приложение работает на рабочем столе, а пользователь подключается к виртуальной машине, то GetLastInputInfo не сообщит об активности (поскольку на главной машине нет активности).

Это может отличаться от поведения, которое вы хотите, в зависимости от того, как вы хотите применить пользовательский ввод.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться