怎么实现如果用户在一定时间内(如30秒)不对程序进行任何操作,就退出程序? (50分)

  • 主题发起人 主题发起人 talent002
  • 开始时间 开始时间
T

talent002

Unregistered / Unconfirmed
GUEST, unregistred user!
设置一个变量不是行了吗?<br>每对程序进行操作就置其为0就行啊,然后计时,到了时间就退出就行啊,
 
有那么简单吗?
 
csh88888说得没错,比如:<br>在timer1的事件中写:<br>begin<br>&nbsp; &nbsp;if timer1.tag=0 then close;<br>&nbsp; &nbsp;timer1.tag:=timer1.tag-1;<br>end;<br>在其它操作时,加上:<br>if timer1.enabled then timer1.enabled:=false;<br>timer1.tag:=30000; &nbsp;// 初始化计时<br>…… &nbsp;// 处理过程<br>timer1.enabled:=true; // 启动计时<br>
 
我有个DEMO,你需要的话就留个EMAIL下来吧
 
是狠简单啊!!![:)]
 
简单?不见得吧,首先照fei_1所说的就有问题,在其他操作时加上。。。。,在什么地方加上呢?每个按纽?或每个FORM的按键事件,或鼠标事件?<br><br>app2001麻烦发一个过来看看,jobsxy@sina.com
 
app2001, 看来就是不好做,不像屏保,发来一份看看,scan888@163.com
 
也给我发一份.hygks@163.com
 
//首先在窗体定义加一个过程<br>public<br>&nbsp; procedure myMessage(var Msg: tagMSG;var Handled: Boolean);<br><br>.....<br>//消息处理函数<br>procedure TForm1.myMessage(var Msg: tagMSG;var Handled: Boolean);<br>begin<br>&nbsp; if (Msg.message&lt;=WM_MOUSEFIRST) and (msg.message&lt;=WM_MOUSELAST) or &nbsp; &nbsp;//鼠标<br>&nbsp; &nbsp;(Msg.message&lt;=WM_KEYFIRST) and (msg.message&lt;=WM_KEYLAST) then &nbsp; &nbsp; &nbsp; //键盘<br>&nbsp; begin &nbsp;//重新开始<br>&nbsp; &nbsp; Form1.Timer1.Enabled:=false;<br>&nbsp; &nbsp; Form1.Timer1.Enabled:=true;<br>&nbsp; end;<br>&nbsp; handled:=false; &nbsp;//表示没有处理过,否则程序将不在处理,会出错的<br>end;<br>procedure TForm1.FormCreate(Sender: TObject);<br>begin<br>&nbsp; Application.OnMessage:=myMessage; &nbsp;//连接消息处理函数<br>end;<br>//上面代码在我机子上测试通过
 
app2001,<br>yzp0755@163.com<br>请发一份。
 
用TIMER+刘兄的做法就可以了吧。
 
&nbsp;老大 &nbsp; , &nbsp;可以结帐了 。。。
 
多人接受答案了。
 
后退
顶部