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 |
} |