Простой способ реализации автоматической временной блокировки интерфейса программы при низкой активности пользователя (отошел покурить/пообедать/поспать/побу..).
Основан на известном факте, что вызов обработчика ожидания осуществляется только в "состоянии покоя", то есть в тот момент, когда программа не выполняет никаких действий. Соответственно время между вызовами может отличаться от указанного. Обычно "состояние покоя" нарушается самим пользователем (например открывает/проводит документы). Алгоритм основан на том, что каждую секунду вызывается обработчик ожидания и измеряется время вежду вызовами, если оно больше секунды на 60мс, тогда счетчик сбрасывается и отсчет времени начинается сначала.
Пример представлен в виде расширения для любой конфигурации на управляемых формах с версией режима совместимости, позволяющей использовать расширения.
Если интересно, но неохота/жалкоSm качать, код в виде скрина:
p.s. 60мс выбрано с потолка опытным путем.