java按键模拟_java模拟键盘按键

该篇博客演示了如何使用Java的Robot类来模拟键盘输入,包括按下、释放键位,以及组合键操作,例如alt+空格、ctrl+c等。通过示例代码展示了如何在记事本中自动输入文本并进行编辑操作,如全选、删除内容等。
摘要由CSDN通过智能技术生成

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

* @throws 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);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值