Escutar tecla do sistema

O problema é o seguinte: eu preciso de um programa java que fique o tempo todo escutando toda tecla que o usuário digite no sistema… tipo… se voce está no Firefox ou no word ou em qualquer programa ou até na área de trabalho e teclar, por exemplo, F1, meu programa precisa escutar essa tecla. Por favor, me ajudem… preciso resolver isso para o trabalho… Eu sei fazer o java escutar teclas digitadas em programas com um KeyAdapter, mas não sei como fazer para que ele escute no sistema inteiro. Não sei onde colocar um addKeyListener… se alguem puder me ajudar… eu agradeco muito !!

Acho que isso não é possível apenas com java não, e você deverá usar JNI, ou coisa parecida…

Infelizmente não posso ajudar mais que isso.

flw

É muito fácil falar para fazer em JNI, mas é um pouco mais complicado que parece. Diferentemente do mouse, pegar tudo que se está teclando, inclusive em outras aplicações, é uma clássica “falha de segurança” e não é fácil fazer em uma aplicação normal, mesmo escrita em 100% C/C++. Se você precisa desse tipo de coisa criminosa, procure por “key loggers”.
Existem, ou existiam programas no Windows que permitiam você cadastrar uma tecla para chamar um programa seu (como teclar aquela famosa tecla com um símbolo de browser, para chamar o Internet Explorer.) Veja se é possível cadastrar o seu programa usando esse tal programa que cadastra teclas especiais.

É verdade…

Outra coisa que você pode procurar seria por global hotkeys… esse link parece ser algo que possa ajudar: http://www.codeproject.com/system/chotkeyhandler.asp

E isso nem sempre é algo criminoso também thingol, o winamp tem isso. Só espero que nosso colega não esteja querendo usar isso para o crime…

flw

eh… pow… eu pensei que fosse mais simples… na verdaD… eu preciso reconfigurar, então, alguns arquivos do sistema… vou deixar de lado a idéia de fazer em java… blz… vou continuar tentando aqui… vlw…

[quote=thingol]É muito fácil falar para fazer em JNI, mas é um pouco mais complicado que parece. Diferentemente do mouse, pegar tudo que se está teclando, inclusive em outras aplicações, é uma clássica “falha de segurança” e não é fácil fazer em uma aplicação normal, mesmo escrita em 100% C/C++. Se você precisa desse tipo de coisa criminosa, procure por “key loggers”.
Existem, ou existiam programas no Windows que permitiam você cadastrar uma tecla para chamar um programa seu (como teclar aquela famosa tecla com um símbolo de browser, para chamar o Internet Explorer.) Veja se é possível cadastrar o seu programa usando esse tal programa que cadastra teclas especiais.[/quote]

é facil… só pegar o fonte de driver generico de teclado (até o da microsoft voce acha na internet) e colocar pra chamar mais alguma coisa… eu fiz isso aqui, kbdclass.sys

Ah!, voce precisa trocar o nome de arquivo, se voce usar esse mesmo o XP apaga o arquivo e bota o arquivo antigo de volta

:wink:

[quote=dudaskank]É verdade…

Outra coisa que você pode procurar seria por global hotkeys… esse link parece ser algo que possa ajudar: http://www.codeproject.com/system/chotkeyhandler.asp

E isso nem sempre é algo criminoso também thingol, o winamp tem isso. Só espero que nosso colega não esteja querendo usar isso para o crime…

flw[/quote]

acho que nao existe isso não, modo protegido não deixa e não tem como ler a memoria do pc toda em modo real.

[]s