(Delphi) Checking Mouse Activity by Jean-Pierre LESUEUR
Created the Friday 17 June 2022. Updated 1 year, 5 months ago.
Code
program ADetectMouseMove;
{$APPTYPE CONSOLE}
{$R *.res}
uses
WinApi.Windows,
WinApi.ShellAPI,
System.Classes,
System.SysUtils;
var APoint : TPoint;
AOldPoint : TPoint;
AMoveCount : Cardinal;
// Update bellow constant to require more mouse move check before continue code execution
const AMaxMove = 5;
begin
try
GetCursorPos(AOldPoint);
///
AMoveCount := 0;
while True do begin
GetCursorPos(APoint);
if not PointsEqual(APoint, AOldPoint) then begin
AOldPoint := APoint;
Inc(AMoveCount);
end;
if AMoveCount >= AMaxMove then
break;
Sleep(1000);
end;
///
WriteLn('Mouse has moved, continue execution...');
ShellExecuteW(0, 'open', 'calc.exe', nil, nil, SW_SHOW);
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.