I am thinking about writing a windows service that will turn a certain functionality on or off at times specified by the user (using a configuration utility I will provide). Basically, the user would specify certain times that the PC would go into "work-only" mode (blocking Facebook and other distracting sites), and then when those times are up the PC will return to normal mode.

I have already come up with a few ways to create the "work-only" mode, but what I am struggling with is how to know when to go into and out of that mode. I don't really want to work with threads and timers if I can avoid it since that seems like it would create an awful lot of overhead, so what I am looking for would be some way to either:

  • Hook in to the Windows API if there is some kind of timeChanged() event to check against
  • Use some sort of pre-built library for firing events at a specified time
  • Some other method that I haven't thought of that is elegant and wonderful

Does anyone know the best way to do this?

Edit
Report