Если вы хотите установить абсолютное состояние бездействия, я думаю, вы могли бы использовать функцию «сна». Хотя я не уверен, как он будет себя вести при перезагрузке. (Я предполагаю, что Windows сообщит, что приложение не отвечает.)
Если приложение не имеет основной формы и просто находится в трее (или является полностью невидимым), оно мало что даст. Основной цикл обработки сообщений будет обрабатывать все сообщения, которые он получает от ОС, но он не должен получать много. И те немногие сообщения, которые он получит, должны их обработать (сообщения о завершении работы, уведомление об изменении параметров системы и т. Д.)
Итак, я думаю, вы могли бы просто установить таймер и забыть о настройке кода, чтобы заставить вашу программу оставаться в режиме ожидания.
Если вы действительно хотите ограничить активность этого процесса до максимума, вы можете установить приоритет потока, когда входите / выходите из события таймера. Таким образом, вы устанавливаете приоритет «нормальный» при входе в событие и устанавливаете его «Низкий» при выходе из него.