3

我正在尝试制作自己的即时通讯工具,并希望用户在长时间未使用计算机的情况下进入空闲/离开模式。有没有人知道如何做到这一点?

4

1 回答 1

4

这是我几年前实现此功能的方式。函数 fnIdleTime 将告诉您自用户触摸鼠标或键盘以来已经过了多少秒。

Public Declare Function timeGetTime Lib "WINMM.DLL" () As Long

Private Type LASTINPUTINFO
  cbSize As Long
  dwTime As Long
End Type

Public Declare Function GetLastInputInfo Lib "user32.dll" (plii As LASTINPUTINFO) As Long

Public Function fnIdleTime() As Long

  Dim lii As LASTINPUTINFO

  lii.cbSize = Len(lii)

  If (GetLastInputInfo(lii) > 0) Then
    fnIdleTime = (timeGetTime - lii.dwTime) \ 1000
  End If

End Function
于 2009-01-17T20:20:09.617 回答