如何在Java中使用Robot类

导读:
  Java.awt.Robot 类用于控制鼠标和键盘。一旦你得到这种控制,你能够通过你的Java代码做与鼠标和键盘任何类型的操作。这个类通常用于自动化测试。先面的代码样例将向您展示Robot类如何处理键盘事件。如果你运行此代码,并打开notepad,您将在notepad中看到HI CAOER.赶快试一试吧。
  import java.awt.AWTException;
  import java.awt.Robot;
  import java.awt.event.KeyEvent;
  public class RobotExp {
  public static void main(String[] args) {
  try {
  Robot robot = new Robot();
  //定义5秒的延迟以便你打开notepad 哈哈
  // Robot 开始写
  robot.delay(5000);
  robot.keyPress(KeyEvent.VK_H);
  robot.keyPress(KeyEvent.VK_I);
  robot.keyPress(KeyEvent.VK_SPACE);
  robot.keyPress(KeyEvent.VK_C);
  robot.keyPress(KeyEvent.VK_A);
  robot.keyPress(KeyEvent.VK_O);
  robot.keyPress(KeyEvent.VK_E);
  robot.keyPress(KeyEvent.VK_R);
  } catch (AWTException e) {
  e.printStackTrace();
  }
  }
  }
  中国_网管联盟bitsCN.com
  www_bitscn_com中国.网管联盟
  网友完善了以上代码:
  [bitsCN_com]
  import java.awt.AWTException;
  import java.awt.Robot;
  import java.awt.event.KeyEvent;
  import java.io.IOException;
  public class RobotExp {
  public static void pressKey(Robot robot, int keyvalue) {
  robot.keyPress(keyvalue);
  robot.keyRelease(keyvalue);
  }
  public static void pressKeyWithShift(Robot robot, int keyvalue) {
  robot.keyPress(KeyEvent.VK_SHIFT);
  robot.keyPress(keyvalue);
  robot.keyRelease(keyvalue);
  robot.keyRelease(KeyEvent.VK_SHIFT);
  }
  public static void closeApplication(Robot robot) {
  // pressKey(robot, KeyEvent.VK_ALT);
  // pressKey(robot, KeyEvent.VK_F4);
  robot.keyPress(KeyEvent.VK_ALT);
  robot.keyPress(KeyEvent.VK_F4);
  robot.keyRelease(KeyEvent.VK_ALT);
  robot.keyRelease(KeyEvent.VK_F4);
  //for linux.
  // robot.keyPress(KeyEvent.VK_ALT);
  // robot.keyPress(KeyEvent.VK_W);
  // robot.keyRelease(KeyEvent.VK_ALT);
  // robot.keyRelease(KeyEvent.VK_W);
  robot.keyPress(KeyEvent.VK_N);
  robot.keyRelease(KeyEvent.VK_N);
  }
  public static void main(String[] args) throws IOException {
  try {
  Robot robot = new Robot();
  Runtime.getRuntime().exec("notepad");
  // For linux.
  //Runtime.getRuntime().exec("gedit");
  //定义5秒的延迟以便你打开notepad 哈哈
  // Robot 开始写
  robot.delay(3000);
  for (int i = 0; i <100; i++) {
  pressKeyWithShift(robot, KeyEvent.VK_H);
  pressKey(robot, KeyEvent.VK_I);
  pressKey(robot, KeyEvent.VK_SPACE);
  //pressKeyWithShift(robot, KeyEvent.VK_H);
  pressKeyWithShift(robot, KeyEvent.VK_I);
  pressKey(robot, KeyEvent.VK_SPACE);
  pressKey(robot, KeyEvent.VK_A);
  pressKey(robot, KeyEvent.VK_M);
  pressKey(robot, KeyEvent.VK_SPACE);
  pressKey(robot, KeyEvent.VK_T);
  pressKey(robot, KeyEvent.VK_H);
  pressKey(robot, KeyEvent.VK_E);
  pressKey(robot, KeyEvent.VK_SPACE);
  pressKey(robot, KeyEvent.VK_J);
  pressKey(robot, KeyEvent.VK_A);
  pressKey(robot, KeyEvent.VK_V);
  pressKey(robot, KeyEvent.VK_A);
  pressKey(robot, KeyEvent.VK_SPACE);
  pressKey(robot, KeyEvent.VK_R);
  pressKey(robot, KeyEvent.VK_O);
  pressKey(robot, KeyEvent.VK_B);
  pressKey(robot, KeyEvent.VK_O);
  pressKey(robot, KeyEvent.VK_T);
  // VK_ENTER
  pressKey(robot, KeyEvent.VK_ENTER);
  //pressKey(robot, KeyEvent.);
  }
  closeApplication(robot);
  //robot.keyPress(KeyEvent.VK_SPACE);
  } catch (AWTException e) {
  e.printStackTrace();
  }
  }
  }

本文转自
http://www.bitscn.com/java/jvm/200709/110455.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值