如题 如题
控制台程序,每天时间到8点就自动执行一段程序

解决方案 »

  1.   

    写个bat,添加到系统任务里。
      

  2.   

    windows计划任务不错,比写程序效率高
      

  3.   

    同觉得用windows计划任务好,效率高不是一点两点
      

  4.   

    1. 最推荐windows计划
    2. 如果不用windows计划,用timer,每一分钟判断一下当前时间,到了8点再执行
      

  5.   


    写个bat 到时间就自动打开程序允许?
      

  6.   

    问题不是做成什么,而是实现方式,如果也还是每分钟判断一次时间,那么不管做成什么,每天都需要做 24 * 60 - 1次无用判断。
    如果用Windows计划是可以的。
    还有就是程序运行时调用时间,算出当前时间距离8点的时间长度,设定下次调用间隔。
    调用后再设定下次运行时间间隔24小时,就OK了。
    当然,做成windows服务可以在后台运行了。
      

  7.   

    1、添加任务计划
    2、Timer(上面说的Service和进程都是一回事,还是这个原理)
      

  8.   

    http://topic.csdn.net/u/20110310/14/a2bc1892-4d77-4f04-89ce-e8f59af57ea7.html
      

  9.   

    参考一下,这个,应该是能实现你要的功能C#开发系统服务时用的定时器组件
    实现的思想,就是判断一下,当前时间是否是可以执行程序的时候,如果不是,则根据定时的规则,判断出,下一个要执行这个程序的时间点是什么时候?
    然后把这个时间点减去当前时间, 得到这个时间后,直接休眠这个时间,时间到了之后,执行,执行之后,再判断下一个时间点到当前时间,还需要多久,如此反复.有些人说,先休眠到4点,然后执行程序,完成之后再休眠24个小时,那如果这个程序,执行了一个小时,怎么办,那么,明天的执行时间就变成了5点了,
    还有,Timer有一个特点就是,当时间到就开一个线程处理任务, 而不会停止计数器,这样的话,如果你的程序执行超过了24个小时,那么,今天的执行程序还没有执行,第二天的执行程序又被触发,这样同一个程序,就会有两个线程在执行,就可能需要考虑并发问题了,这点需要注意一下.我提供的那个定时器,去掉了,Timer的那个特性,当执行程序时,停止计数器计时,在程序执行完后之后,再计算到下次执行需要休眠的时间,这样就可以实现每次都精确时间点执行程序