Get User Idle Time - Delphi

DarkCoderSc personal avatar
DarkCoderSc

Jean-Pierre LESUEUR

uses
  System.SysUtils, Winapi.Windows;

// ...

function UserIdleTime() : UInt64;
var ALastInputInfo: TLastInputInfo;
begin
  ZeroMemory(@ALastInputInfo, SizeOf(TLastInputInfo));
  ALastInputInfo.cbSize := SizeOf(TLastInputInfo);
  if GetLastInputInfo(ALastInputInfo) then
    result := (GetTickCount64() - ALastInputInfo.dwTime)
  else
    result := 0;
end;

// ...

WriteLn(UserIdleTime());

Implemented By Technique


Created

April 15, 2025

Last Revised

April 15, 2025