C# — служба Windows с поддержкой системного времени

Я думаю о написании службы Windows, которая будет включать и выключать определенные функции в указанное пользователем время (используя утилиту настройки, которую я предоставлю). По сути, пользователь указывает определенное время, когда ПК будет переходить в режим «только для работы» (блокируя Facebook и другие отвлекающие сайты), а затем, когда это время истечет, ПК вернется в обычный режим.

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

  • Подключиться к Windows API, если есть какое-то событие timeChanged() для проверки
  • Используйте какую-то предварительно созданную библиотеку для запуска событий в указанное время
  • Какой-то другой метод, о котором я не подумал, который элегантен и замечательно

Кто-нибудь знает, как это сделать лучше всего?

8
задан Brendon Dugan 13 May 2012 в 23:02
поделиться