有2种方法:
第一种:在服务内部判断。这其实是一种伪启动和伪停止。通过服务内的即使器计时,如果到达时间就执行,不到达时间就不执行,但是服务是一直在运行,不过每次执行的都是判断时间的事件而已。
还有就是自己新建一个服务,只做判断时间的事件,然后控制另一个服务启动与否。
第二种:通过ServiceController来控制服务。这是在程序内部写的,通过程序的执行来控制服务的运行与否。
具体可参考http://blog.csdn.net/abrahamcheng/article/details/4207809
和http://bbs.csdn.net/topics/100140601