Hola.
¿ No sería más sencillo en lugar de mirar periodicamente el intervalo de tiempo desde la ultima acción, simplemente resetear el timer a cada evento ?. De forma que si el Timer llega a provocar un evento es porqué hemos superado los 5 minutos, y tenemos que bloquear la aplicación. Es más sencillo y no dependemos del funcionamiento del GetTickCount.
Versión 3.0
:
- Al iniciar la aplicación configuramos y arrancamos el Timer para 5 minutos.
- En el evento de AppEvents, reseteamos el Timer (poniendo el Enabled a False para volverlo a poner a True).
- En el evento del Timer, bloqueamos la aplicación (puesto que solo podemos haber llegado tras 5 minutos de inactividad).
NOTA : También podemos aprovechar igualmente la magnífica detección de eventos propuesta por Andrés, en lugar de utilizar el AppEvents.
Saludos.