想实现 这样一个功能,就是类似于10分钟没任何操作就退出系统 这样的一个操作
现在的做法是 设一个公有变量如LastTime, 
一个公有函数,如SetTime
这个公有函数把公有变量 设置为当前时间.
然后做个定时器,判断当前时间 和公有变量 对比一下.时间到了就退出.
这样的做的问题是,每个新的函数,都得先调用 一下这个SetTime 才行.
请问有更好的方法,在每个函数调用 前,直接 就先调用SetTime吗?还是得每个函数都手动指定 一下?

解决方案 »

  1.   

    如果是查整个系统无操作的话,倒简单些。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
    Private Sub Timer1_Timer()
    lii.cbSize = Len(lii)
    GetLastInputInfo lii
    Debug.Print GetTickCount - lii.dwTime & "ms"
    End Sub
      

  2.   

    楼主的意思应该是他自己的软件吧,不是“整个系统”无操作。
    不知道HOOK底层鼠标和键盘消息能行不。