Détecter l'activité de l'utilisateur

Contenu du snippet

<DllImport("kernel32.dll", SetLastError := True)> _
Shared Function GetTickCount() As UInteger
End Function

<DllImport("user32.dll", SetLastError := True)> _
Shared Function GetLastInputInfo(ByRef plii As LASTINPUTINFO) As Boolean
End Function

<StructLayout(LayoutKind.Sequential)> _
Structure LASTINPUTINFO
  Public Shared ReadOnly SizeOf As Integer = Marshal.SizeOf(GetType(LASTINPUTINFO))
  <MarshalAs(UnmanagedType.U4)> _
  Public cbSize As Integer
  <MarshalAs(UnmanagedType.U4)> _
  Public dwTime As UInteger
End Structure

Public Shared Function IsInputIdle(ByVal idleTimeoutSecond As Integer) As Boolean
  Dim LInInfo As LASTINPUTINFO
  LInInfo.cbSize = LASTINPUTINFO.SizeOf()
  If GetLastInputInfo(LInInfo) <> 0 Then
    Return (GetTickCount() - LInInfo.dwTime) > idleTimeoutSecond
  Else
    Return False
  End If
End Function

Compatibilité : VB 2005, VB 2008, VB.NET 1.x

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.