以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  程序空闲时间判断  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=94360)

--  作者:xvkewen
--  发布时间:2016/12/21 21:59:00
--  程序空闲时间判断

我想让程序自动判断,当15分钟内,没有再在程序做任何操作,则认为程序此段时间是空闲的,程度自动刷新数据(从后台重新加载),如何才能达到这样的目的?


--  作者:有点色
--  发布时间:2016/12/21 22:47:00
--  

 如果针对电脑,参考

 

示例二

如果用户30秒内没有进行任何操作,就自动关闭系统,可以在SystemIdle中加入下面的代码:

If LastInputTickCount > 30000 Then
    Syscmd.Project.Exit()
End If

提示:LastInputTickCount是一个系统变量,返回距离用户上次操作之后的时间,单位为毫秒。


--  作者:有点色
--  发布时间:2016/12/21 22:52:00
--  

 如果针对程序的操作,可以用 Windows.Forms.ActiveForm 判断

 

 参考 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=79606&skin=0

 

 


--  作者:xvkewen
--  发布时间:2017/1/3 17:16:00
--  回复:(有点色) 如果针对电脑,参考 ...

 

我用SystemIdle这个事件来做数据刷新,当时间到了话,系统会一直刷新,如何用这个事件来做系统基于一个指定的时间段来刷新?比如系统15分钟无人操作,就自动刷新某个指定表的数据,然后间隔15分钟刷新一次,直到系统有操作为止,停止自动刷新;

 

我相过用计划管理来做,但是当用户正在编辑某个表的时候,如果刷新,会影响用户对当前表的编辑,怎么办?


--  作者:有点色
--  发布时间:2017/1/3 17:36:00
--  
 在计划管理里面,判断 LastInputTickCount 的值,不就好了?