我想通过编程方式了解给定Windows XP计算机上用户输入的当前空闲时间。我在MS Access中使用VBA。我有什么选择?
答案 0 :(得分:4)
我使用以下方法获得解决方案。
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Function GetLastInputInfo Lib "user32" (plii As Any) As Long
Private Type LastInputInformation
cbSize As Long
dwTime As Long
End Type
Public Function GetUsersIdleTime() As Long
Dim lii As LastInputInformation
lii.cbSize = Len(lii)
Call GetLastInputInfo(lii)
GetUsersIdleTime = FormatNumber((GetTickCount() - lii.dwTime) / 1000, 2)
End Function
系统的其他部分可以闲置,例如,
要了解有关效果和其他闲置类型的更多信息,请参阅此SO帖子here。