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 に答える