如何在vb6中判断系统状态是否为空闲休眠等

如何在vb6中判断系统状态是否为空闲休眠等,vb6,system,state,Vb6,System,State,我正在尝试制作自己的即时通讯工具,如果计算机已经很久没有使用,我希望用户进入空闲/离开模式。有人对如何实现这一点有很好的想法吗?以下是我几年前如何实现这一功能的。函数fnIdleTime将告诉您自用户触摸鼠标或键盘以来的秒数 Public Declare Function timeGetTime Lib "WINMM.DLL" () As Long Private Type LASTINPUTINFO cbSize As Long dwTime As Long End Type Pu

我正在尝试制作自己的即时通讯工具,如果计算机已经很久没有使用,我希望用户进入空闲/离开模式。有人对如何实现这一点有很好的想法吗?

以下是我几年前如何实现这一功能的。函数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