PROCEDURE IdleProc(peMaxMilliSecs=5000, pbRestart=False)


LASTINPUTINFO is structure
cbSize is unsigned int
dwTime is int
END

lii is LASTINPUTINFO

lii:cbSize=Dimension(lii)

LOOP

IF NOT API("USER32","GetLastInputInfo", &lii) THEN
Error(ErrorInfo())
RETURN
END

currTicks is int=API("KERNEL32","GetTickCount")

lastInputTicks is int=lii:dwTime

idleTicks is int= currTicks - lastInputTicks

Trace("Current Tick="+currTicks+" | Last Input Tick="+lastInputTicks+" | Difference="+idleTicks)

IF idleTicks>=peMaxMilliSecs THEN
Info("Yo I'm In IDLE Mode !")
IF NOT pbRestart THEN
BREAK
END
END

API("KERNEL32","Sleep",1000) // Ou ThreadAttendSignal(x)...

END