java模拟键盘按键
2014-12-02 11:16
302 查看
come from: http://bbs.51cto.com/thread-1097189-1.html
功能描述:
1.打开一个记事本
2.最大化
3.模拟按键操作
现 贴出 源码 :
预览源代码
打印
come from: http://bbs.51cto.com/thread-1097189-1.html
功能描述:
1.打开一个记事本
2.最大化
3.模拟按键操作
现 贴出 源码 :
预览源代码
打印
001 | import java.awt.AWTException; |
002 | import java.awt.Robot; |
003 | import java.awt.Toolkit; |
004 | import java.awt.datatransfer.Clipboard; |
005 | import java.awt.datatransfer.StringSelection; |
006 | import java.awt.datatransfer.Transferable; |
007 | import java.awt.event.KeyEvent; |
008 |
009 | public class Test { |
010 |
011 | /** |
012 | * @param args |
013 | * <a href="http://home.51cto.com/index.php?s=/space/2305405" target="_blank">@throws</a> AWTException |
014 | */ |
015 | public static void main(String[] args) throws Exception { |
016 | // TODO Auto-generated method stub |
017 | Robot robot = new Robot(); //创建一个robot对象 |
018 | Runtime.getRuntime().exec( "notepad" ); //打开一个记事本程序 |
019 | robot.delay( 2000 ); //等待 2秒 |
020 | //窗口最大化 |
021 | keyPressWithAlt(robot, KeyEvent.VK_SPACE); //按下 alt+ 空格 |
022 | keyPress(robot, KeyEvent.VK_X); //按下x键 |
023 | robot.delay( 1000 ); //等待 1秒 |
024 | keyPressString(robot, "大家好,我是一个小机器人,我有很多本领呢 !" ); //输入字符串 |
025 | robot.delay( 3000 ); //等待 3秒 |
026 | keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 |
027 | keyPressString(robot, "现在,我就向大家展示一下.....嘻嘻" ); //输入字符串 |
028 | robot.delay( 3000 ); //等待 3秒 |
029 | keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 |
030 | keyPressString(robot, "首先,我能按下 键盘的任何一个键。下面,我单独按下a,b,c,d键" ); //输入字符串 |
031 | keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 |
032 | robot.delay( 3000 ); //等待 3秒 |
033 | keyPress(robot, KeyEvent.VK_A); //按下 a 键 |
034 | robot.delay( 2000 ); //等待 2秒 |
035 | keyPress(robot, KeyEvent.VK_B); //按下 b 键 |
036 | robot.delay( 2000 ); //等待 2秒 |
037 | keyPress(robot, KeyEvent.VK_C); //按下 c 键 |
038 | robot.delay( 2000 ); //等待 2秒 |
039 | keyPress(robot, KeyEvent.VK_D); //按下 d 键 |
040 | robot.delay( 2000 ); //等待 2秒 |
041 | keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 |
042 | keyPressString(robot, "呵呵,完成了。。。。 " ); |
043 | robot.delay( 3000 ); //等待 3秒 |
044 | keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 |
045 | keyPressString(robot, "恩,对了 上面 文字很多 是不是 感到 很乱呢??? 我现在 帮你清空一下 " ); |
046 | robot.delay( 2000 ); //等待 2秒 |
047 | keyPressWithCtrl(robot,KeyEvent.VK_A); //按下 ctrl+A 全选 |
048 | robot.delay( 2000 ); //等待 2秒 |
049 | keyPress(robot,KeyEvent.VK_DELETE); //清除 |
050 | robot.delay( 3000 ); //等待 3秒 |
051 | keyPressString(robot, "恩,现在 是不是 觉得 清爽多了 另外 我还会按 组合键呢 ..." ); |
052 | keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 |
053 | robot.delay( 3000 ); //等待 3秒 |
054 | keyPressString(robot, "................好像已经 演示过了 吧 ,呵呵 " ); |
055 | keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 |
056 | robot.delay( 3000 ); //等待 3秒 |
057 | keyPressString(robot, "其实,我还有很多本领呢 现在就不向大家展示了 ....." ); |
058 | keyPress(robot, KeyEvent.VK_ENTER); // 按下 enter 换行 |
059 | robot.delay( 3000 ); //等待 3秒 |
060 | keyPressString(robot, "谢谢大家!!!!!" ); |
061 |
062 |
063 |
064 | } |
065 |
066 | // shift+ 按键 |
067 | public static void keyPressWithShift(Robot r, int key) { |
068 | r.keyPress(KeyEvent.VK_SHIFT); |
069 | r.keyPress(key); |
070 | r.keyRelease(key); |
071 | r.keyRelease(KeyEvent.VK_SHIFT); |
072 | r.delay( 100 ); |
073 | } |
074 |
075 | // ctrl+ 按键 |
076 | public static void keyPressWithCtrl(Robot r, int key) { |
077 | r.keyPress(KeyEvent.VK_CONTROL); |
078 | r.keyPress(key); |
079 | r.keyRelease(key); |
080 | r.keyRelease(KeyEvent.VK_CONTROL); |
081 | r.delay( 100 ); |
082 | } |
083 |
084 | // alt+ 按键 |
085 | public static void keyPressWithAlt(Robot r, int key) { |
086 | r.keyPress(KeyEvent.VK_ALT); |
087 | r.keyPress(key); |
088 | r.keyRelease(key); |
089 | r.keyRelease(KeyEvent.VK_ALT); |
090 | r.delay( 100 ); |
091 | } |
092 | //打印出字符串 |
093 | public static void keyPressString(Robot r, String str){ |
094 | Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard(); //获取剪切板 |
095 | Transferable tText = new StringSelection(str); |
096 | clip.setContents(tText, null ); //设置剪切板内容 |
097 | keyPressWithCtrl(r, KeyEvent.VK_V); //粘贴 |
098 | r.delay( 100 ); |
099 | } |
100 |
101 | //单个 按键 |
102 | public static void keyPress(Robot r, int key){ |
103 | r.keyPress(key); |
104 | r.keyRelease(key); |
105 | r.delay( 100 ); |
106 | } |
107 | } |
相关文章推荐
- java模拟键盘按键
- JAVA模拟键盘按键测试类
- java Robot 类模拟键盘按键和鼠标点击(全局模拟)
- java Robot 类模拟键盘按键和鼠标点击(全局模拟)
- java Robot 类模拟键盘按键和鼠标点击(全局模拟)
- 模拟键盘按键 自动输入文字 (转载)
- 驱动中实现模拟键盘按键
- Java 实现全局(全操作系统)的键盘鼠标模拟
- 在C#程序中模拟发送键盘按键消息
- 在C#程序中模拟发送键盘按键消息
- 驱动中实现模拟键盘按键
- 模拟键盘按键
- 模拟键盘按键 自动输入文字
- Symbian开发——模拟键盘按键
- 模拟键盘按键
- Java中模拟鼠标和键盘输入
- 模拟键盘按键
- 驱动中实现模拟键盘按键
- 如何在程序中模拟键盘的按键事件?
- 用应用程序模拟键盘和鼠标按键