日期:2014-05-18  浏览次数:20862 次

如何检测软件一定时间内有没有被操作
[size=2]定时检测软件有无被操作过![size/]

由于我在设计时候,子窗口都采用模态弹出窗口(窗口比较多)。现在需要[color=red]检测[/color]软件在一定时间内有无被操作过(例如点击,关闭窗口操作);若没有类似操作,我要弹出注销窗口,重新登录。给于你们些提示和方法,谢谢了。


------解决方案--------------------
用一个定时器去检查Flag,你操作过子窗口了,就把这个Flag设成true

------解决方案--------------------
存一个最近操作的时间,再定时检测该时间与当前时间之差
------解决方案--------------------
监控键盘鼠标事件 例如
C# code

private   void   timer1_Tick(object   sender,   System.EventArgs   e) 
{ 
  if(piTimeSpan   >   60) 
  { 
      //to   do   somthing 此处调用你的注销逻辑
  } 
  else 
  { 
  piTimeSpan   ++; 
  } 
} 


protected   override   bool   ProcessCmdKey(ref   Message   msg,   Keys   keyData) 
  { 
  piTimeSpan   =   0; 
  return   base.ProcessCmdKey   (ref   msg,   keyData); 
  } 

private   void   Form1_MouseMove(object   sender,   System.Windows.Forms.MouseEventArgs   e) 
  { 
  piTimeSpan   =   0; 
  }

------解决方案--------------------
jiatong1981 兄弟的方法可用...

支持一下...
------解决方案--------------------
那可以写一个底层的Form里面写jiatong1981的方法,其他Form继承它就可以了
------解决方案--------------------
自己写一个模式窗体即可。。。
------解决方案--------------------
加一个公共变量,如果你指定的子窗口被操作过就修改这个公共变量的值。
需要的时候检测这个公共变量即可知道子窗口是否被操作过。