Java实现智能机器自动操作电脑

 1 package com.tz.util; 
 2 
 3 import java.awt.Robot;
 4 import java.awt.event.InputEvent;
 5 import java.awt.event.KeyEvent;
 6 
 7 /** 
 8 * @author sunshine 
 9 * @version 1.0
10 * @date:2015年8月16日 下午1:29:39 
11 * @description: Robot实现自动化
12 *     整体功能实现自动点击电脑开始按钮、点击运行、
13 *     输入CMD命令进入dos命令窗口、查看当前目录dir、
14 *     查看本机ip信息、退出exit
15 */ 
16 public class RobotCmd {
17 
18     public static void main(String[] args) {
19         try {
20             //实例化机器人
21             Robot robot = new Robot();
22             
23             //先移动到开始菜单的位置
24             robot.mouseMove(24, 880);
25             
26             robot.mousePress(InputEvent.BUTTON1_MASK);
27             robot.mouseRelease(InputEvent.BUTTON1_MASK);
28             robot.delay(500);
29             
30             //移动到运行菜单的位置,并且点击
31             robot.mouseMove(245, 666);
32             robot.mousePress(InputEvent.BUTTON1_MASK);
33             robot.mouseRelease(InputEvent.BUTTON1_MASK);
34             robot.delay(500);
35             
36             //robot按下CMD键
37             robot.keyPress(KeyEvent.VK_C);
38             robot.keyPress(KeyEvent.VK_M);
39             robot.keyPress(KeyEvent.VK_D);
40             robot.delay(500);
41             
42             //点击确定,进入CMD控制台
43             robot.mouseMove(145, 745);
44             robot.mousePress(InputEvent.BUTTON1_MASK);
45             robot.mouseRelease(InputEvent.BUTTON1_MASK);
46             robot.delay(500);
47             
48             //输入dir命令
49             int[] keyDir = {KeyEvent.VK_D,KeyEvent.VK_I,KeyEvent.VK_R,KeyEvent.VK_ENTER};
50             KeyUtil.pressKeys(robot, keyDir, 500);
51             
52             //输入ipconfig命令
53             int[] keyIpconfig = {KeyEvent.VK_I,KeyEvent.VK_P,KeyEvent.VK_C,KeyEvent.VK_O,KeyEvent.VK_N,KeyEvent.VK_F,KeyEvent.VK_I,KeyEvent.VK_G,KeyEvent.VK_ENTER};
54             KeyUtil.pressKeys(robot, keyIpconfig, 500);
55             
56             //输入exit命令
57             int[] keyExit = {KeyEvent.VK_E,KeyEvent.VK_X,KeyEvent.VK_I,KeyEvent.VK_T,KeyEvent.VK_ENTER};
58             KeyUtil.pressKeys(robot, keyExit, 500);
59             
60             
61             
62         } catch (Exception e) {
63             e.printStackTrace();
64         }
65     }
66 }
 1 package com.tz.util; 
 2 
 3 import java.awt.Robot;
 4 
 5 /** 
 6 * @author sunshine 
 7 * @version 1.0
 8 * @date:2015年8月16日 下午2:05:23 
 9 * @description: 键盘事件操作工具类
10 */ 
11 public class KeyUtil {
12 
13     /**
14      * 键盘输入方法
15      * 
16      * @param robot  机器人类
17      * @param keys  输入键盘键名
18      * @param delay  延迟时间
19      * @return void 无
20      * 
21      */
22     public static void pressKeys(Robot robot,int[] keys,int delay){
23         
24         //循环遍历数组并赋值
25         for(int i=0;i<keys.length;i++){
26             robot.keyPress(keys[i]);
27             robot.keyRelease(keys[i]);
28             robot.delay(delay);
29         }
30     }
31 }

 

posted @ 2015-10-26 21:49  悬崖边上  阅读(1328)  评论(0编辑  收藏  举报