Как проверить время простоя ПРОГРАММЫ, а не время простоя СИСТЕМЫ?

Я скрывался на SO какое-то время, это было здорово ресурс. Теперь я постараюсь быть активным участником ... :)

У меня есть программа, которой иногда требуется рекурсивно сканировать некоторые каталоги (улучшение этой части программы находится в стадии разработки, но не будет будьте готовы некоторое время). Чтобы пользователю не приходилось ждать этого сканирования, я хотел бы выполнить сканирование, пока пользователь не • по возможности использовать мою программу.

Я намерен реализовать ее, запустив таймер, который проверяет время простоя. Я нашел следующее для проверки времени простоя системы: http://www.delphitips.net/2007/11/11/how-to-detect-system-idle-time/

Это работало бы, но я бы предпочел активировать функцию, даже если пользователь работает с другими программами на том же компьютере. Таким образом, если он переключится на другую программу, я смогу наверстать нужное сканирование.

Я понимаю, что могу выполнять сканирование в фоновом потоке, и либо это, либо какие-то перехватчики окон будут реализованы в какой-то момент, но не сейчас.

РЕДАКТИРОВАТЬ: Целью здесь является относительно простое изменение программы для выполнения любого сканирования, которое может быть поставлено в очередь, когда пользователь активно не использует МОЕ приложение. Сканирование не особенно интенсивно, но оно не выполняется в потоке, и поэтому мое приложение зависает во время выполнения. По сути, я ищу быструю победу, пока работаю над более долгосрочным решением.

10
задан boileau 25 May 2011 в 20:35
поделиться