import java.awt.AWTException; import java.awt.Robot; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.Transferable; import java.awt.event.KeyEvent; public class Test { /** * @param args * <a href="http://home.51cto.com/index.php?s=/space/2305405" target="_blank">@throws</a> AWTException */ public static void main(String[] args) throws Exception { // TODO Auto-generated method stub Robot robot = new Robot(); // 创建一个robot对象 Runtime.getRuntime().exec("notepad"); // 打开一个记事本程序 robot.delay(2000); // 等待 2秒 // 窗口最大化 keyPressWithAlt(robot, KeyEvent.VK_SPACE); // 按下 alt+ 空格 keyPress(robot, KeyEvent.VK_X);// 按下x键 robot.delay(1000);// 等待 1秒 keyPressString(robot, "大家好,我是一个小机器人,我有很多本领呢 !"); // 输入字符串 robot.delay(3000);// 等待 3秒 keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 keyPressString(robot, "现在,我就向大家展示一下.....嘻嘻"); // 输入字符串 robot.delay(3000);// 等待 3秒 keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 keyPressString(robot, "首先,我能按下 键盘的任何一个键。下面,我单独按下a,b,c,d键"); // 输入字符串 keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 robot.delay(3000);// 等待 3秒 keyPress(robot, KeyEvent.VK_A); // 按下 a 键 robot.delay(2000);// 等待 2秒 keyPress(robot, KeyEvent.VK_B); // 按下 b 键 robot.delay(2000);// 等待 2秒 keyPress(robot, KeyEvent.VK_C); // 按下 c 键 robot.delay(2000);// 等待 2秒 keyPress(robot, KeyEvent.VK_D); // 按下 d 键 robot.delay(2000);// 等待 2秒 keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 keyPressString(robot, "呵呵,完成了。。。。"); robot.delay(3000);// 等待 3秒 keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 keyPressString(robot, "恩,对了 上面 文字很多是不是 感到 很乱呢??? 我现在 帮你清空一下 "); robot.delay(2000);// 等待 2秒 keyPressWithCtrl(robot, KeyEvent.VK_A); // 按下 ctrl+A 全选 robot.delay(2000);// 等待 2秒 keyPress(robot, KeyEvent.VK_DELETE); // 清除 robot.delay(3000);// 等待 3秒 keyPressString(robot, "恩,现在 是不是 觉得 清爽多了 另外 我还会按 组合键呢 ..."); keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 robot.delay(3000);// 等待 3秒 keyPressString(robot, "................好像已经 演示过了 吧 ,呵呵 "); keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 robot.delay(3000);// 等待 3秒 keyPressString(robot, "其实,我还有很多本领呢 现在就不向大家展示了 ....."); keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 robot.delay(3000);// 等待 3秒 keyPressString(robot, "谢谢大家!!!!!"); } // shift+ 按键 public static void keyPressWithShift(Robot r, int key) { r.keyPress(KeyEvent.VK_SHIFT); r.keyPress(key); r.keyRelease(key); r.keyRelease(KeyEvent.VK_SHIFT); r.delay(100); } // ctrl+ 按键 public static void keyPressWithCtrl(Robot r, int key) { r.keyPress(KeyEvent.VK_CONTROL); r.keyPress(key); r.keyRelease(key); r.keyRelease(KeyEvent.VK_CONTROL); r.delay(100); } // alt+ 按键 public static void keyPressWithAlt(Robot r, int key) { r.keyPress(KeyEvent.VK_ALT); r.keyPress(key); r.keyRelease(key); r.keyRelease(KeyEvent.VK_ALT); r.delay(100); } // 打印出字符串 public static void keyPressString(Robot r, String str) { Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();// 获取剪切板 Transferable tText = new StringSelection(str); clip.setContents(tText, null); // 设置剪切板内容 keyPressWithCtrl(r, KeyEvent.VK_V);// 粘贴 r.delay(100); } // 单个 按键 public static void keyPress(Robot r, int key) { r.keyPress(key); r.keyRelease(key); r.delay(100); } }
一个键盘按键实例
猜你喜欢
转载自liushuiwuyan.iteye.com/blog/2281319
今日推荐
周排行