那必须要有一个程序一直在运行,不断地判断时间,
一旦是指定的时间的话,就使用 winexec调用另一个程序即可

解决方案 »

  1.   

    在timer事件中加入以下代码
    if time = 12:00:00 then
      shellexecute(handle, 'open', '程序名', nil, nil, 1);
    要引用shellapi单元
      

  2.   

    if time = strtotime('12:00:00 ') then 
      shellexecute(handle, 'open', '程序名', nil, nil, 1);
      

  3.   

    一行代码也不要写,只要用windows计划任务就可以了.
      

  4.   

    是否可以考慮給windows添加一個計划的方式實現﹐只是增加方法用程序來完成
      

  5.   

    xzm2000(不是云)的办法可能会有问题的,因为如果你的时间间隔设得比较长,“12:00:00”的时候并不一定触发OnTime事件;
    我们可以定义:
    var RunFlag:Boolean;开始时:RunFlag:=True;然后在OnTime中:
    if RunFlag and (Time>StrToTime('12:00:00)) then
    begin
      ShellExecute(Handle,'Open','程序名',nil,nil,1);
      RunFlag:=False;
    end;
      

  6.   

    不会吧,这样写,多占系统资源,还是要在idle里面写.idle要重载procedure TForm1.MyIdleHandler(Sender: TObject; var Done: Boolean);
    begin
      //todo..
    end;
    procedure TForm1.FormCreate(Sender: TObject);begin
      Application.OnIdle:= MyIdleHandler;
     end;