Détecter l'activité de l'utilisateur

Contenu du snippet

[DllImport("kernel32.dll",SetLastError=true)]
static extern uint GetTickCount();
[DllImport("user32.dll",SetLastError=true)]
static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
[StructLayout( LayoutKind.Sequential )]
struct LASTINPUTINFO
{
    public static readonly int SizeOf = Marshal.SizeOf(typeof(LASTINPUTINFO));
    [MarshalAs(UnmanagedType.U4)]
    public int cbSize;    
    [MarshalAs(UnmanagedType.U4)]
    public uint dwTime;
}
public static bool IsInputIdle(int idleTimeoutSecond)
{
  LASTINPUTINFO LInInfo;
  LInInfo.cbSize = LASTINPUTINFO.SizeOf();
  if (GetLastInputInfo(ref LInInfo) != 0)
  {
    return (GetTickCount() - LInInfo.dwTime) > idleTimeoutSecond;
  }
  else
    return false;
}


Compatibilité : C# 1.x, C# 2.x, C# 3.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.