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

голоса
6

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

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

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

Задан 05/08/2008 в 20:06
источник пользователем
На других языках...                            


2 ответов

голоса
3

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

Ответил 05/08/2008 в 20:14
источник пользователем

голоса
1

Вы, кажется, сами ответили на свой вопрос там Nathan ;-) «GetLastInputInfo» это путь.

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

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

Ответил 06/08/2008 в 02:58
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more