La Web del Programador: Comunidad de Programadores
 
    Pregunta:  12604 - ¿CóMO DETECTAR QUE UN PC ESTá INACTIVO?
Autor:  Juan Fdez
En una aplicación, quiero que cuando el PC esté inactivo un tiempo, aparezca una solicitud de clave, esté en la pantalla en la que esté. ¿Cómo puedo detectar esa inactividad de ratón y teclado?

  Respuesta:  Arturo Hernandez
Si usas Visual C, puedes hacerlo detectanto el evento MOUSE_MOVE (para DOS usa la funcion del mouse para ver si se ha movido)o algo asi, y para el teclado algo asi como el evento KEYDOWN (para DOS solo usa la funcion keypressed) o algo asi, busca que eventos tiene tanto el teclado como el raton y elige los adecuados.

Al iniciar la aplicacion inicializa una bandera que te indique que ni el teclado ni el raton se han "activado"; antes de entrar en un ciclo donde esperes la entrada del usuario, inicializa una variable donde tomes el tiempo, despues entra al ciclo, y en el ciclo toma el tiempo a cada rato, si por ejemplo, a los 60 segundos de diferencia entre el tiempo inicial y el que tomes, la bandera indica que no ha habido movimiento, entonces pide la clave.