Java
Java中Robot类位于java.awt.Robot,该类用于为测试自动化,自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件,Robot类的主要目的是便于Java平台实现自动测试。
Robot可以模拟鼠标和键盘的输入,相当于Java版的按键精灵。

类介绍

JDK里的“机器人”类库 - 图1
构造方法摘要和方法摘要
JDK里的“机器人”类库 - 图2
键盘上的每一个键,都可以通过KeyEvent的常量来标识:

实现功能

用Robot模拟双击打开一个指定位置的文本文件,
然后文本里输入一段文字,
最后模拟用户保存文件。

实例代码

  1. import java.awt.*;
  2. import java.awt.event.InputEvent;
  3. import java.awt.event.KeyEvent;
  4. public class Test {
  5. private final static int x=38; // x坐标
  6. private final static int y=38; // y坐标
  7. private final static int []keys={ // 输入字母
  8. KeyEvent.VK_J,KeyEvent.VK_A,KeyEvent.VK_V,KeyEvent.VK_A,
  9. KeyEvent.VK_1,KeyEvent.VK_2,KeyEvent.VK_3,KeyEvent.VK_4,
  10. KeyEvent.VK_SPACE,
  11. KeyEvent.VK_N,KeyEvent.VK_I,KeyEvent.VK_U,KeyEvent.VK_B,
  12. KeyEvent.VK_I,KeyEvent.VK_L,KeyEvent.VK_I,KeyEvent.VK_L,
  13. KeyEvent.VK_T,KeyEvent.VK_Y
  14. };
  15. public static void main(String[] args) throws Exception{
  16. Robot robot = new Robot(); // new一个机器人
  17. // 模拟双击打开一个指定位置的文本文件
  18. robot.mouseMove(38,38); // 模拟移动鼠标到指定位置
  19. robot.delay(100); // 休息0.1秒
  20. robot.mousePress(InputEvent.BUTTON1_MASK); // 模拟双击打开文本文件
  21. robot.mouseRelease(InputEvent.BUTTON1_MASK);
  22. robot.mousePress(InputEvent.BUTTON1_MASK);
  23. robot.mouseRelease(InputEvent.BUTTON1_MASK);
  24. robot.delay(1000); // 休息0.1秒
  25. // 模拟输入文字
  26. for(int i=0;i<keys.length;i++){
  27. robot.keyPress(keys[i]);
  28. robot.keyRelease(keys[i]);
  29. robot.delay(100);
  30. }
  31. // 模拟保存
  32. robot.delay(1000); // 休息0.1秒
  33. robot.keyPress(KeyEvent.VK_CONTROL); // 模拟 ctrl+s
  34. robot.keyPress(KeyEvent.VK_S);
  35. robot.keyRelease(KeyEvent.VK_S);
  36. robot.keyRelease(KeyEvent.VK_CONTROL); // 模拟释放 ctrl+s
  37. }
  38. }