Source : Emprin Frédéric
Dans le code d’initialisation du projet
// Initialisation Détection de l'inactivité de l'utilisateur LASTINPUTINFO est une Structure nCbTaille est un entier sans signe sur 4 nDwTime est un entier FIN gnTimerinactivité est un entier = TimerSys("gestionInactivite", 600) gnDuréeEnMinute est un entier = 60 // Durée d'inactivité = 1 heure // Fin d'initialisation Détection de l'inactivité de l'utilisateur
Dans un timer, on appelle une procédure :
PROCEDURE GLOBAL gestionInactivite() nDiff est un entier InfoUser est un LASTINPUTINFO //On le relance une fois fini (évite les erreurs en boucle) donc on l’arrête FinTimerSys(gnTimerinactivité) InfoUser:nCbTaille = Dimension(InfoUser ) SI API("user32","GetLastInputInfo",&InfoUser ) <> 0 ALORS nDiff = API("Kernel32","GetTickCount" )-InfoUser:nDwTime // on vérifie le temps d'inactivité en ms SI nDiff >= 10*6000*gnDuréeEnMinute ALORS Ouvre(FEN_EjectionProgramme) // on propose de sortir du programme FIN //Traitement fini, on relance le timer gnTimerinactivité = TimerSys("gestionInactivite", 600)