| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Lun 11 May, 2009 5:15 pm Asunto: Inactividad Teclado y Raton |
|
|
Buenas a todos,
He estado mirando por el foro y todo lo que he encontrado de detectar inactividad en el teclado y ratón se refiere al programa en cuestión que estemos haciendo.
Lo que yo necesito realmente es inactividad sobre teclado y ratón pero del sistema, osea que aunque nuestro programa este minimizado si se toca una tecla en otro programa corte la inactividad, que cuente la inactividad total, que salte un contador o lo que sea cuando no se toque el teclado ni el ratón este en el programa que este.
Se os ocurre algo?
Un abrazo.
Carlos |
|
| Volver arriba |
|
 |
WhiteSkull Cdt


Registrado: 07 Jun 2009Mensajes: 2Ubicación: x+width*y
|
Publicado: Dom 07 Jun, 2009 11:22 pm Asunto: |
|
|
| Usando la API de windows, por ejemplo para el teclado usaría GetAsyncKeyState... suerte |
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
|
| Volver arriba |
|
 |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Mar 09 Jun, 2009 11:48 am Asunto: |
|
|
WhiteSkull gracias por preocuparte, pero al final no se por que tenia el mismo tema en dos mensajes.
La solución a todo esta en el mensaje que dice Escafandra.
Gracias a todos por la ayuda.
Carlos |
|
| Volver arriba |
|
 |
WhiteSkull Cdt


Registrado: 07 Jun 2009Mensajes: 2Ubicación: x+width*y
|
Publicado: Mar 09 Jun, 2009 4:15 pm Asunto: |
|
|
Me alegro chaval, de todas formas hace tiempo me hice un keylogger y por eso te di esa pista... tampoco es plan de entregar el código en bandeja
suerte con tu trabajillo... |
|
| Volver arriba |
|
 |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Mar 09 Jun, 2009 5:13 pm Asunto: |
|
|
jajaja claro que no,
Muchas gracias de todas maneras.
Un abrazo.
Carlos |
|
| Volver arriba |
|
 |
edwinhp2 Lt JG

Registrado: 19 Nov 2005Mensajes: 67
|
Publicado: Jue 23 Jul, 2009 12:06 am Asunto: |
|
|
Encontré este código en delphi que te podría ayudar.
| Código: |
~~~~~~~~~~~~~~~~~~~~~~~~~
function SecondsIdle: DWord;
var
liInfo: TLastInputInfo;
begin
liInfo.cbSize := SizeOf(TLastInputInfo) ;
GetLastInputInfo(liInfo) ;
Result := (GetTickCount - liInfo.dwTime) DIV 1000;
end;
procedure TForm1.Timer1Timer(Sender: TObject) ;
begin
Caption := Format('System IDLE last %d seconds', [SecondsIdle]) ;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~
|
Suerte.[/code] |
|
| Volver arriba |
|
 |
juanma Cmdr

Registrado: 17 Nov 2005Mensajes: 127Ubicación: Almeria - España
|
Publicado: Jue 23 Jul, 2009 9:29 am Asunto: |
|
|
Yo he usado en un par de programas este API, lo he visto mas sencillo.
Por un lado tengo la funcion:
| Código: |
bool AppIdle(int nS)
{
int nIS;
LASTINPUTINFO xLI;
xLI.cbSize = sizeof(xLI);
GetLastInputInfo(&xLI);
nIS = (GetTickCount() - xLI.dwTime) / 999;
return (nIS > nS);
} |
Donde le paso los segundos que necesito saber de inactividad y si es así, me devuelve true.
En el form principal de la aplicacion tengo un timer que cada 30 segundos llama a esta funcion
| Código: |
if (AppIdle(600))
Application->Terminate(); |
Saludos,
Juanma |
|
| Volver arriba |
|
 |
|