如何实现 一 个窗口! 当用户超过一定时间不输入时 ,自动关闭!

解决方案 »

  1.   

    Application的OnIdle事件 
      

  2.   


    找的一段代码,应该有用,需要改改。
    private
        Procedure zxb(Sender: TObject; var Done: Boolean);//自定義過程聲明var index1:integer=0;
        flag:boolean=false;
        time1:integer;
    Procedure TForm1.FormCreate(Sender: TObject);
    begin
     time1:=1000;//需要等待的時間
     application.OnIdle:=zxb;
    end;Procedure tform1.zxb(Sender: TObject; var Done: Boolean);
    begin
     if index1=0 then
      begin
       sleep(time1);  //等待設定的時間
       index1:=1
      end
     else
      if index1=1 then
        Begin
         index1:=2;
         if flag then
          showmessage('有用戶干撓!') //在此可寫要執行的代碼
         else
          if not flag then
            showmessage('無用戶干撓!');//在此可寫要執行的代碼
        end;
    end;procedure TForm1.FormClick(Sender: TObject);
    begin
     flag:=true;  //有用戶干預,將flag變為True.
    end;