检测用户输入及超时弹出屏保(登录)窗体
时 间:2009-05-20 10:54:47
作 者:Trynew ID:2645 城市:广州
摘 要:当程序长时间没有动作或输入的话,弹出登陆窗体的功能或者关闭程序退出
正 文:
当程序长时间没有动作或输入的话,弹出登陆窗体的功能或者关闭程序退出
土方法就是象例子1一样,设置一个公共变量,在窗体的击键、鼠标时间中重设这个公共变量为当前时间,然后在窗体的计时器时间中比较当前时间和这个变量的差,大于设定值就打开启动窗体就行了。但这样有一个局限,就是只能在设置了程序的窗体中有效,如“主窗体”。
如果要对整个程序都有效,则要设定一个专门的检测窗体,可以在登录时隐藏打开在后台运行,利用API函数对用户的输入进行监测和定时对比控制。另外,这种技巧还可以应用于一些对话框的定时关闭处理,把代码中退出程序或弹出屏保(登录窗体)的语句改为设置默认应答及关闭本窗体即可。
时间及用户录入检测窗体的代码如下:
Option Compare Database
Private Declare Function GetLastInputInfo Lib "user32" (plii As LASTINPUTINFO) As Boolean
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Type LASTINPUTINFO
cbSize As Long
dwTime As Long
End Type
Dim lii As LASTINPUTINFO
Dim zjs, djs
Dim msgcount As Integer
Private Sub Form_Timer()
'此为窗体的计时事件
Dim mytime As Double
lii.cbSize = Len(lii)
GetLastInputInfo lii
mytime = GetTickCount - lii.dwTime
Debug.Print mytime & "ms"
zjs = mytime \ 1000
djs = 7200 - zjs
Me.Txt1 = "离系统关闭时间: " & djs
if djs =0 then
'此句代码可改为弹出屏保(登录窗体)的语句或改为设置默认应答及关闭本窗体
quit
end if
End Sub
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)
- Access快速开发平台--让有权...(11.04)
- Access快速开发平台--审批选...(11.01)
- ACCESS两张表先各自排序,然后...(10.31)
- Access对子窗体数据进行批量+...(10.30)
- SqlServer中如何用SQL命...(10.29)
- Access报表中的分组功能用代码...(10.28)
- 用Access计算库存结余的一个方...(10.26)
- 最精简的组合框行来源数据快速输入(...(10.25)