如何检测软件一定时间内有没有被操作

ilove8 2007-11-02 10:41:46
[size=2]定时检测软件有无被操作过![size/]

由于我在设计时候,子窗口都采用模态弹出窗口(窗口比较多)。现在需要检测软件在一定时间内有无被操作过(例如点击,关闭窗口操作);若没有类似操作,我要弹出注销窗口,重新登录。给于你们些提示和方法,谢谢了。
...全文
148 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ilove8 2007-11-05
  • 打赏
  • 举报
回复
自己顶
ilove8 2007-11-03
  • 打赏
  • 举报
回复
public class baseForm: System.Windows.Forms.Form
{
public baseForm()
{
this.MouseMove += new MouseEventHandler(baseForm_MouseMove);
}

private void baseForm_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
System.Diagnostics.Debug.Print("mouse moving");
}

protected override bool ProessCmdKey(ref Message msg, Keys keyData)
{
System.Diagnostics.Debug.Print("Key Pressing");
return base.ProcessCmdKey(msg, keyData);
}
}


ProessCmdKey Error: no suitable method found to override
我直接写ProessCmdKey方法为何出错
ilove8 2007-11-03
  • 打赏
  • 举报
回复
jiatong1981 2007-11-02
  • 打赏
  • 举报
回复
监控键盘鼠标事件 例如

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;
}
wuhq030710914 2007-11-02
  • 打赏
  • 举报
回复
存一个最近操作的时间,再定时检测该时间与当前时间之差
IThurricane 2007-11-02
  • 打赏
  • 举报
回复
用一个定时器去检查Flag,你操作过子窗口了,就把这个Flag设成true
gofficer 2007-11-02
  • 打赏
  • 举报
回复
加一个公共变量,如果你指定的子窗口被操作过就修改这个公共变量的值。
需要的时候检测这个公共变量即可知道子窗口是否被操作过。
破碎的脸 2007-11-02
  • 打赏
  • 举报
回复
自己写一个模式窗体即可。。。
IThurricane 2007-11-02
  • 打赏
  • 举报
回复
那可以写一个底层的Form里面写jiatong1981的方法,其他Form继承它就可以了
ilove8 2007-11-02
  • 打赏
  • 举报
回复
感谢jiatong1981提过思路,让我知道如何具体处理窗口操作响应。

我在问题指出,很多弹出模态窗口,都采用这种方法去处理的话,我要在每个窗体上都要加处理,工作量大
shinaterry 2007-11-02
  • 打赏
  • 举报
回复
jiatong1981 兄弟的方法可用...

支持一下...

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧