Comment détecter un IDLE sous Windev

Demandé et répondu par Ramses le 27-May-2005 10:49

Comment détecter un IDLE sous Windev

Ce thread permet de gérer un IDLE sous Windev

Attention: Windows 2000 & Up

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
		Msg2(__err)
		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)
	
END

Cette Q&R a été trouvée sur WDForge.org : http://old.wdforge.org/modules/smartfaq/faq.php?faqid=96