E ae galera, meu problema é o seguinte:
Minha aplicação tem que saber que existe um usuário usando a estação mesmo se a aplicação java estiver minimizada.
Para listener de mouse consegui fazer, criando uma thread que faz a leitura da posição do mouse na tela, se a posição mudou é sinal de que existe alguem usando a mesma.
Porém se o usuário estiver digitando algo, seja em word, ou qualquer outro aplicativo, nao consigo identificar. Minha intenção não é saber o que o usuário digitou, somente que ele interagiu com o teclado, dentro ou fora da minha aplicação…
A intenção disso é prover uma forma de expirar a sessão da aplicação se não existir usuarios usando a estação depois de determinado tempo.
Se alguem tiver alguma ideia para ajudar ai, agradeço!!!
Bom dia jovem,
Vc apenas quer controlar a inatividade de sua aplicação??
Se sim, gostaria de saber se essa aplicação usa algum banco de dados??
Sim, é para controlar a inatividade da aplicação, porem dentro da aplicação existem módulos distintos em que são necessário novos logins, e dependendo de quem logou, após expirar, bloqueia usuarios de mesmo nivel ou nivel inferior. Após expirar, o que estava sendo executado é escondido e somente retomado se o nivel de permissão for compativel com a execução de tal modulo.
O banco utilizado é Ingres…
Obrigado por enquanto e aguardo novos retornos…
Obs:
O problema é que é um projeto pronto e totalmente funcional, e não queria ter que alterar todos os forms da aplicação, ja que a aplicação nao apresenta nenhum tipo de problema. criei um projeto a parte e exendi algumas funionalidades apenas…
Agradeço por qualquer ajuda!!!
Sua necessidade é um pouco mais complexa, nos casos que tive eram aplicações que permaneciam conectada ao BD, aí eu trabalhei com o timeOut dele.
Vc poderia cria um Thread, espécie de relógio que captasse qualquer operação na sua aplicação, quando esta fosse manuseada, vc ia zerando o timer, caso fique inoperante, vá gerenciando através desse timer o tempo inativo. A dificuldade que vejo nisso é que podemos abrir uma aplicação e minimiza-la para usar outros aplicativos, e nesse caso a “nossa aplicação estará inativa”, daí o problema surge quando tivermos que interagir a aplicação com a thread passando mensagens que a mesma está em uso!@!
Eu criei uma thread e já faço o controle do tempo para expirar essa sessão, o problema é capturar interação com o teclado, pois as interações como o mouse já fiz. Se o usuario movimentar o mouse eu zero esse tempo, porém se o mouse estiver inativo e o usuário estiver preenchendo um formulário a sessão expirará tb, pois em decorrencia do meu problema não consegui capturar qualquer interação com o teclado para fazer o meu timer zerar…
Fico na expectativa pessoal…
Abraço!