Мне нужно подсчитать время простоя моего приложения WPF (Idle time = при отсутствии ввода клавиатуры, ввода мыши (движение + клики)). Пока я пробовал 2 подхода, но ни один из них, похоже, не работает:
- Использование диспетчера для вызова делегата каждый раз, когда он получает приоритет contextIdle, проблема в том, что привязка и многие другие операции вызывают его, и поэтому я не могу это использовать.
- используя диспетчер ввода, я зарегистрировался на событие "System.Windows.Input.InputManager.Current.PostProcessInput" и каждый раз, когда он был вызван, я перезапустил счетчик времени простоя. Второй подход казался многообещающим, но проблема в том, что когда мышь находится над приложением (у него есть фокус), я продолжаю получать событие.
Любые другие идеи? или, возможно, способ изменить второе решение для работы?