robot类 java_Java实现自动化_Robot类简单应用

/**

*         Robot类   :

*

*             exec 函数声明:

*                 public Process exec (String command) throws IOException ,参数及功能说明:

*                     command: 一条指定的系统命令

*                     功能:在单独的进程中执行指定的字符串命令

*

*             keyPress 函数说明:

*                 public void keyPress(int keycode),参数及功能说明:

*                     keycode:要按下的键(例如,KeyEvent.VK_A)

*                     功能:模拟按下指定键

*

*             keyRelease 函数说明:

*                 public void keyRelease(int keycode),参数及功能说明:

*                     keycode:要释放的键

*                     功能:模拟释放指定键

*

* @param tovep

*/

import java.awt.Robot;

import java.awt.event.KeyEvent;

public class Exce {

public static void main(String[] args) {

try{

//创建自动操作类

Robot robot = new Robot();

/**

*

*         利用Runtime类运行Word程序的方法为:

*             Runtime.getRuntime().exec("cmd /c start winword");

*                                         括号里的是系统命令

*

*/

//启动记事本程序

Runtime.getRuntime().exec("cmd /c start notepad");

//延缓几秒钟,等待记事本程序启动成功

robot.delay(3000);

//模拟按下"Ctrl + Space" 组合键,启动输入法

pressKeyWithCtrl(robot,KeyEvent.VK_SPACE);

//模拟随机按下100个字母,输入汉字

for(int i=0;i<100;i++){

pressKey(robot, (int) (Math.random()* 25) + 'A');

pressKey(robot,KeyEvent.VK_SPACE);

}

//延缓5秒钟,一共观察

robot.delay(5000);

//关闭记事本

//closeApplication(robot);

}catch (Exception e){

System.out.println(e.getMessage());

}

}

//模拟按下键盘字符键

public static void pressKey(Robot robot, int keyvalue){

//模拟按下

robot.keyPress(keyvalue);

//模拟弹起

robot.keyRelease(keyvalue);

}

//模拟同时按下"Ctrl"键和字符键

public static void pressKeyWithCtrl(Robot robot, int keyvalue){

//模拟按下

robot.keyPress(KeyEvent.VK_CONTROL);

robot.keyPress(keyvalue);

//模拟弹起

robot.keyPress(keyvalue);

robot.keyRelease(KeyEvent.VK_CONTROL);

}

//模拟按下"Alt + F4"组合键,关闭当前应用程序

public static void closeApplication(Robot robot){

//模拟按下"Alt + F4"组合键

//模拟按下

robot.keyPress(KeyEvent.VK_ALT);

robot.keyPress(KeyEvent.VK_F4);

//模拟弹起

robot.keyRelease(KeyEvent.VK_ALT);

robot.keyRelease(KeyEvent.VK_F4);

//模拟按下"N",不保存文件退出记事本程序

//模拟按下

robot.keyPress(KeyEvent.VK_N);

//模拟弹起

robot.keyRelease(KeyEvent.VK_N);

}

}


版权声明:本文为weixin_33587731原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。