Como Detectar Inatividade do Computador??

Delphi

15/10/2004

Olá Pessoal!!

Estou precisando detectar a inatividade do computador após um certo período de tempo, estou utilizando a rotina abaixo, entretanto, ela não funciona no windows 98 (somente 2000), tentei o uso de hooks de teclado/mouse, entretanto qdo. a aplicação é minimizada o hook deixa de funcionar, se alguém conhecer uma outra forma por favor me avise.


function UltimaEntrada: boolean;
var LInput: tagLASTINPUTINFO;
const TEMPOLIMITE = 45000;
begin
result := false;
LInput.cbSize := SizeOf(tagLASTINPUTINFO);
GetLastInputInfo(LInput);
if (GetTickCount - LInput.dwTime) > TEMPOLIMITE then result := true;
end;


Carval

Carval

Curtidas 0

Respostas

Sremulador

Sremulador

15/10/2004

Já tentou o OnIdle


GOSTEI 0
Fórum Vini

Fórum Vini

15/10/2004

tentei o uso de hooks de teclado/mouse, entretanto qdo. a aplicação é minimizada o hook deixa de funcionar

Para que ele continue funcionando é necessário que você use ele através de uma DLL...


Espero ter ajudado,
Vinicius;


GOSTEI 0
Carval

Carval

15/10/2004

Já tentei utilizar o evento OnIdle e Dll´s entretanto o programa deixa de responder qdo. é minimizado, tem um componente Sleeper que funciona legal mas é pago, se alguém tiver o componente free, serve tb. :lol:


GOSTEI 0
Fórum Vini

Fórum Vini

15/10/2004

Dll´s entretanto o programa deixa de responder qdo. é minimizado

Não deveria :?
Poste o código da sua DLL de hook aqui, pois deve ter algum erro nela.. A idéia de hooks globais(feitos usando DLLs) é justamente que eles continuem funcionando inclusive quando o foco não está na aplicação..:wink:


T+,
Vinicius;


GOSTEI 0
Ipc$

Ipc$

15/10/2004

Já tentei utilizar o evento OnIdle e Dll´s entretanto o programa deixa de responder qdo. é minimizado


As hooks globais interceptam as msgs do Windows, estando sua aplicação em foco ou não.
Agora se sua dll de hook não se comunicar c/ sua aplicação, ela nunca irá saber se houve eventos de teclado ou mouse.


GOSTEI 0
POSTAR