写了个模块,获取鼠标停用时间,当超过一定时间,自动弹出锁定窗体,但调试后发现代码失效,请高手帮我看下:
Option Explicit
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
Private lii As LASTINPUTINFO
Private mytime As Double ''以毫秒作为时间
Private zjs As Long ''正计时
''获得未响应的时间 结束
''===============================================================================Private Sub Timer()
frmMain.TimerInterval = 1000 ''默认刷新1秒
lii.cbSize = Len(lii)
GetLastInputInfo lii
mytime = GetTickCount - lii.dwTime
zjs = mytime \ 1000
If zjs = 3 Then
frmMain.Timer1.Enabled True
Else
frmMain.Timer1.Enabled False
End If
End Sub主窗体写下
Private Sub Timer1_Timer()
frmLoginSD.Show
End Sub
Option Explicit
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
Private lii As LASTINPUTINFO
Private mytime As Double ''以毫秒作为时间
Private zjs As Long ''正计时
''获得未响应的时间 结束
''===============================================================================Private Sub Timer()
frmMain.TimerInterval = 1000 ''默认刷新1秒
lii.cbSize = Len(lii)
GetLastInputInfo lii
mytime = GetTickCount - lii.dwTime
zjs = mytime \ 1000
If zjs = 3 Then
frmMain.Timer1.Enabled True
Else
frmMain.Timer1.Enabled False
End If
End Sub主窗体写下
Private Sub Timer1_Timer()
frmLoginSD.Show
End Sub
放的位置不对,你没设置这个属性Timer就不工作,不工作这个代码就不执行
学习应该从基础的东西学,不是随便搞个代码就成高手了