В среде Win32, можно использовать GetLastInputInfo вызова API в документации Microsoft. В основном, этот метод возвращает последний такт, который соответствует, когда пользователь последний раз внес вклад, а вы должны сравнить, что в текущем ТИКе, чтобы определить, как давно это было. Xavi23cr есть хороший пример для C# на codeproject. Какие-либо предложения для других сред?