我是用TIMER每秒检测是否到达指定时间来实现程序定时启动的,这样偶尔出现到时间程序没有启动的情况,有什么好办法可以实现程序万无一失的定时启动?由于程序定时启动没有规律且用户可以修改,不能放到启动里。

解决方案 »

  1.   

    不用每一秒钟都读出来,只要读出来一次,计算剩余时间然后sleep就行啦!timer1.enabled:=false;
    timeremain:=time1-time2;
    timeremain:=timeremain-100;
    try
      sleep(timeremain);
    except
    end;然后再timer1的里面
    begin
      if time1=time2 then
      begin
        winexec('application2',1);
        time1.enable:=false;
        application.temi....
      end;
      

  2.   

    哦~~
    在醒来的时候别忘了把timer1设置为enable就行啦,呵呵我就是这样弄得
      

  3.   

    TTimer不够精确,你把Interval稍微改小一点
      

  4.   

    to  bluejing0(此名已被占用!) :1。如果在休息中用户修改启动时间怎么办?
    2。休眠中程序无法响应任何消息怎么办?
      

  5.   

    用系统里的任务计划试试看看
    要不用CMD里的AT看看
      

  6.   

    用多线程实现这个功能,岂不是比timer还费资源?
      

  7.   

    使用cmos时间进行控制,最安全的办法是设置一个守护进程程一直对该进程进行监视,每次开机时自动运行
      

  8.   

    同意CSDN0_0() ,不过要确保客户机运行了计划任务.
      

  9.   

    DOS命令,你运行cmd,输at /?看帮助吧.
      

  10.   

    我的程序用timer监控时间,当到达整点时,做些事,23个时次都是好的,但凌晨12点,也就是0点,为什么程序不干活呢?
      

  11.   

    bluejing0(此名已被占用!) ,,你的程序好像有问题啊,在sleep的时候,程序不能相应任何消息,用户怎么使用,
      

  12.   

    用Timer,时间设置的小点。
    timer事件里的代码设置得少点,较少的判断。
    程序的处理最好用消息过程!