检测用户输入及超时弹出屏保(登录)窗体
时 间: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)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- Inputbox输入密码打开查...(12.23)
- 【Access Dsum示例】...(12.16)
- Inputbox输入密码打开窗...(12.13)
- 【Access DCount示...(12.02)

学习心得
最新文章
- 用Access查询语句如何得到前3...(02.17)
- Access快速开发平台--导入导...(02.14)
- 按回车键后光标移动到下一条记录的V...(02.12)
- Access快速开发平台--要实现...(02.10)
- Access快速开发平台--让Pe...(02.08)
- 【Access Dsum示例】用D...(02.07)
- Access对子窗体的数据进行平均...(02.05)
- Access快速开发平台附件上传,...(01.18)
- 【IIF函数示例】用iif函数判断...(01.18)
- Access快速开发平台--如何获...(01.17)