VERIFICAR SE MOUSE SE MOVEU OU TECLADO PRESSIONADO

ADILSOO 12/12/2017 21:53:05
#478404
Boa noite pessoal!
Estou tentando implantar uma função no meu sistema, que ele se fechará automaticamente quando não se estiver utilizando por um certo tempo.
Mas não estou conseguindo encontrar o evento correto, tentei no menu principal direto no form com o evento mouvemove, mas não seu certo. Tentei com um timer, mas não deu certo.
Alguém tem alguma ideia?
KERPLUNK 12/12/2017 23:46:04
#478408
Deixa ver se entendi, você está procurando o evento que ocorre, quando nada ocorre...
NILSONTRES 13/12/2017 00:45:57
#478409
Tenho isso mas só para .net
ADILSOO 13/12/2017 06:57:18
#478410
Na verdade estou procurando o evento quando se move o mouse ou pressiona qualquer tecla.
Pois vou colocar num timer para contar um tempo. Caso esse evento ocorra, o tempo irá reiniciar.
LOVO12 13/12/2017 08:47:40
#478411
Citação:

:
Na verdade estou procurando o evento quando se move o mouse ou pressiona qualquer tecla.
Pois vou colocar num timer para contar um tempo. Caso esse evento ocorra, o tempo irá reiniciar.



Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
user o comando de reiniciar o timer aqui.
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
user o comando de reiniciar o timer aqui.
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
user o comando de reiniciar o timer aqui.
End Sub

segue acima um exemplo dos eventos.
DS2T 13/12/2017 19:38:26
#478431
Resposta escolhida
O pessoal está certo, mas você teria que fazer isso em cada formulário.
Eu recomendaria você criar uma classe herdada do Form que já venha com essa funcionalidade, porque ficar colocando o mesmo código em todos formulários é osso.

No demais, é usar um timer mesmo de background pra ver se chegou no tempo. (Lembrando que sempre que mexer no teclado ou mouse, o timer precisa zerar).

Outra forma de fazer seria usando API (mouse_event e key_bd, acho que é isso) para capturar o evento do mouse e do teclado e outras APIs para pegar o Handle da janela ativa (GetForegroundWindow) e ID do processo da janela que está com foco (GetWindowThreadProcessId), para assim estar verificando se foi dentro da sua aplicação.

Abraços!
Tópico encerrado , respostas não são mais permitidas