Delphi - Detectar el uso del raton y teclado

 
Vista:

Detectar el uso del raton y teclado

Publicado por Alex (47 intervenciones) el 14/12/2003 03:12:01
Necesito realizar un proyecto donde un formulario detetecte si el usuario a presionado una tecla o no no ha movido el raton en cierto numero de minutos (parecido a un protector de pantalla), al transcurrir ese numero de tiempo de inactividad de la maquina que se cierre el formulario.

Mas claro, si alguien sabe de alguna funcion que vigile si se movio el raton o se presiono el mouse
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Detectar el uso del raton y teclado

Publicado por Fer (269 intervenciones) el 15/12/2003 10:22:45
Te adjunto una posible solución que tenemos que agradecer a mi compañero Jose Carlos Corpás:

En primer lugar vamos a usar un TTimer porque es la forma más sencilla de cronometrar tiempos.
Por otro lado, para detectar la inactividad del equipo, vamos a recoger los mensajes que indican actividad por parte del usuario, esto es, los mensajes WM_MOUSEMOVE y WM_KEYDOWN y cada vez que esto ocurra inicializamos el contador del Timer:

procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
if (Msg.Message = WM_KEYDOWN) or (Msg.Message = WM_MOUSEMOVE) then
begin
Timer1.Enabled := False;
Timer1.Enabled := True;
end;
end;

Por último sólo hay que chequear estos mensajes en el evento OnMessage de nuestra aplicación y poner lo que queramos en el evento OnTimer de nuestro componente.

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := AppMessage;
end;

En el ejemplo se ha usado el evento OnCreate del Formulario para asignar el manejador de mensajes de la aplicación.

procedure TForm1.Timer1Timer(Sender: TObject);
begin
ShowMessageFmt('Han pasado %d segundos de inactividad', [Timer1.Interval div 1000])
end;

NOTA.- En este ejemplo simplemente ponemos un mensaje en pantalla pero podríamos lanzar un salvapantallas o cualquier otro proceso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Detectar el uso del raton y teclado

Publicado por + o - (1 intervención) el 19/12/2003 17:23:51
Esto solo sirve cuand tu aplicacion este activa.....si lo que deseas es hacerlo a nivel Windows, sin importar la aplicacion activa, deberas utilizar los HOOKs correspondientes al teclado y al moues para detectar correctamente los mensajes. una vez capturados enviar un mensaje a alguna ventana de tu aplicacion para que en el evento de respuesta. puedas escribir el codigo quen necesite.

Gabriel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Detectar el uso del raton y teclado

Publicado por Alex (47 intervenciones) el 21/12/2003 04:08:49
Creo que me entendiste de maravilla, pues es lo que deseo, es decir que sin importar la aplicacion activa siga detectando el uso de teclado y mouse.

Lo que me comentas me parece muy interesante, pero desafortunadamente no se como usar lo que me comentas, se que alomejor es mucho pedir pero no se si podrias explicarme un poco mas o darme un ejemplo, te lo agrdeceria muchisimo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar