Page 1 of 1

controlar Teclado Inactivo

PostPosted: Fri Jul 21, 2006 3:10 pm
by infosys
Necesito incorporar a mis programas un control que permita chequear si el teclado permanece inactivo por x minutos, se bloquee o cierre la aplicacion, algo similar al protector de pantalla del Window, pero a nivel de programa.
Alguien conoce alguna forma de hacerlo ?

Gracias
Miguel

PostPosted: Fri Jul 21, 2006 5:54 pm
by karinha
ya intestastes con el COMANDO: DEFINE TIMER oTimer??

PostPosted: Fri Jul 21, 2006 9:46 pm
by infosys
En realidad fue lo primero que se me ocurrio, trabajar con un timer, pero lo que necesito es controlar si el mouse se esta moviendo y si en algun lugar se presiona alguna tecla, lo cual me indicaria que alguien sigue utilizando el programa, pero lo que no se es como controlar el uso del teclado y si pudiera el movimiento del mouse, para que el timer se renueve con cada movimiento.

PostPosted: Sat Jul 22, 2006 1:54 am
by wmormar
infosys wrote:En realidad fue lo primero que se me ocurrio, trabajar con un timer, pero lo que necesito es controlar si el mouse se esta moviendo y si en algun lugar se presiona alguna tecla, lo cual me indicaria que alguien sigue utilizando el programa, pero lo que no se es como controlar el uso del teclado y si pudiera el movimiento del mouse, para que el timer se renueve con cada movimiento.


Infosys,

Se me ocurre poner un timar, con una variable global (puede ser de tipo Logical), y actualizarla con el bChange, asi cuando pongas el Timer, la validas y listo.

Es una idea, jjejje

Saludos

PostPosted: Sat Jul 22, 2006 7:11 am
by Raymundo Islas M.
Hola

Me parecio interesante tu post, asi que estuve investigando y encontre esto :

Para poder hacer lo que comentas, se debera hacer un programa que haga la funcion de un ScreenSaver ya sea en C o C++ ( segun lei, en varios lenguajes ) y al incrustarle la libreria scrnsave.lib esta se encarga del "monitoreo" del idle del raton y del teclado, asi que desde esa app podrias enviar X mensaje o evento a tu aplicacion principal para que se desactive o haga algo, haciendo uso de algun timer para que cheque que exista tal aviso X.

En realidad el principio no se ve tan dificil ( ni tan facil, claro ) pero si es posible, lastima que mis conocimientos en C sean muy pocos :(


aqui puedes bajar la libreria :
http://www.ols-lab.com/devcorner/scrnsave/

y aqui puedes ver unos ejemplos de como crear un ScreenSaver :
http://www.cityintherain.com/howtoscr.html

Espero te sirva

Saludos

PostPosted: Tue Jul 25, 2006 12:07 pm
by infosys
Raymundo,

Te agradezco la información, estuve revisando el material pero a la hora de implementación no logro el control que deseo, en realidad mi plan es que el programa en ejecución se bloquee y el usuario debe ingresar su contraseña para desbloquearlo o bien un supervisor, pero eso solo puedo hacerlo en el mismo programa y no por screensaver ya que no se como establecer ese control unido a mi programa de aplicación.

Saludos
Miguel

PostPosted: Tue Jul 25, 2006 1:25 pm
by Raymundo Islas M.
Hola

Podrias intentar algo como esto :

En el archivo ScreenSaver, que en realidad no es otra cosa que otro EXE, al activarse le indicas que genere algun archivito que quieras : "LockPc.TXT" en carpeta XX, y ya desde tu App, le activas un timer para que cada YY tiempo, verifique si existe el archivo "LockPc.TXT" en tal carpeta, si lo encuentra, que haga lo que le indiques y que borre dicho archivo.


Saludos

PostPosted: Wed Jul 26, 2006 1:01 pm
by infosys
Raymundo, gracias opte por el metodo que me comentaste y funciona Ok.

Saludos
Miguel