Search Tools Links Login

Detect Inactive Input


This code sample shows how to detect activity or inactivity on the mouse and keyboard.

Option Explicit

'===========================================================
'TYPE
'===========================================================
Private Type POINTAPI
x As Integer
y As Integer
End Type
'===========================================================
'API
'===========================================================
Private Declare Sub GetCursorPos Lib "user32.dll" (lpPoint As POINTAPI)
Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
'===========================================================
'Variables
'===========================================================
Private posOld As POINTAPI
Private posNew As POINTAPI

'===========================================================
'InputCheck
'===========================================================

Public Function InputCheck() As Boolean
    Dim i As Integer

    'Get the current mouse cursor coordinates
    Call GetCursorPos(posNew)
    'Compare with old coordinates
    If ((posNew.x <> posOld.x) Or (posNew.y <> posOld.y)) Then
        posOld = posNew
        InputCheck = True
        Exit Function
    End If
    'Check keys state
    For i = 0 To 255
    If (GetAsyncKeyState(i) And &H8001) <> 0 Then
            InputCheck = True
            Exit Function
        End If
    Next i
    InputCheck = False
End Function

And here is how to use it. Create a Form with a Label and a Timer, and place the following in the timer event:

'
Option Explicit

Private Sub Timer1_Timer()
Label1.Caption = InputCheck
End Sub

About this post

Posted: 2018-03-01
By: AndreaRossignoli
Viewed: 480 times

Categories

Visual Basic 6

Attachments

No attachments for this post


Loading Comments ...

Comments

No comments have been added for this post.

You must be logged in to make a comment.