定时器不是很准....
用消息,放个ApplicationEvents控件,然后设置个全局变量,在ApplicationEventsIdle事件里写代码:
//全局变量
var
idletime:dword;
procedure Tform1.ApplicationEventsIdle(Sender: TObject;
var Done: Boolean);
var
tmpm:dword;
begin
if Active and Visible then begin
tmpm:=GetTickCount;
if integer(tmpm-idletime)>=0 then begin
//如果要下面这句话,就每过5分钟触发一次,如果只想触发一次,则再设个全局变量记录是否已经触发过
idletime:=tmpm+300000;
//执行你要做的
end;
end;
end;