一个键盘按键实例
2016-03-08 16:18
330 查看
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);
}
}
相关文章推荐
- JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
- JS获取键盘上任意按键的值(实例代码)
- C#中keybd_event实例(键盘钩子模拟按键)
- 计划:写一个统计鼠标点击次数,滑动距离,键盘按键次数的软件
- JS获取键盘上任意按键的值(实例代码)
- 一个映射到mac风格按键的AHK脚本(替换虚拟机键盘映射)
- 驱动开发之 一个简单的截取键盘按键的驱动
- emWin 2天速成实例教程006_矩阵键盘、PS2键盘、实体按键消息的使用方法(MDK工程)
- 咪咕笔试题目:统计键盘写入一个字符串的按键点击次数
- Selenium Keys键盘按键包使用实例
- 驱动开发之 一个简单的截取键盘按键的驱动
- JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
- JavaScript onkeydown事件入门实例(键盘某个按键被按下)
- C++模拟键盘按键的实例
- 一个简易的键盘按键测试程序
- android按键驱动开发实例2(增加一个新按键)
- JavaScript onkeydown事件入门实例(键盘某个按键被按下)
- js鼠标按键事件和键盘按键事件用法实例汇总
- android按键驱动开发实例1(修改一个按键)
- C#中keybd_event实例(键盘钩子模拟按键)