package com.tz.util; 

 import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent; /**
* @author sunshine
* @version 1.0
* @date:2015年8月16日 下午1:29:39
* @description: Robot实现自动化
* 整体功能实现自动点击电脑开始按钮、点击运行、
* 输入CMD命令进入dos命令窗口、查看当前目录dir、
* 查看本机ip信息、退出exit
*/
public class RobotCmd { public static void main(String[] args) {
try {
//实例化机器人
Robot robot = new Robot(); //先移动到开始菜单的位置
robot.mouseMove(24, 880); robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(500); //移动到运行菜单的位置,并且点击
robot.mouseMove(245, 666);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(500); //robot按下CMD键
robot.keyPress(KeyEvent.VK_C);
robot.keyPress(KeyEvent.VK_M);
robot.keyPress(KeyEvent.VK_D);
robot.delay(500); //点击确定,进入CMD控制台
robot.mouseMove(145, 745);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(500); //输入dir命令
int[] keyDir = {KeyEvent.VK_D,KeyEvent.VK_I,KeyEvent.VK_R,KeyEvent.VK_ENTER};
KeyUtil.pressKeys(robot, keyDir, 500); //输入ipconfig命令
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};
KeyUtil.pressKeys(robot, keyIpconfig, 500); //输入exit命令
int[] keyExit = {KeyEvent.VK_E,KeyEvent.VK_X,KeyEvent.VK_I,KeyEvent.VK_T,KeyEvent.VK_ENTER};
KeyUtil.pressKeys(robot, keyExit, 500); } catch (Exception e) {
e.printStackTrace();
}
}
}
 package com.tz.util; 

 import java.awt.Robot;

 /**
* @author sunshine
* @version 1.0
* @date:2015年8月16日 下午2:05:23
* @description: 键盘事件操作工具类
*/
public class KeyUtil { /**
* 键盘输入方法
*
* @param robot 机器人类
* @param keys 输入键盘键名
* @param delay 延迟时间
* @return void 无
*
*/
public static void pressKeys(Robot robot,int[] keys,int delay){ //循环遍历数组并赋值
for(int i=0;i<keys.length;i++){
robot.keyPress(keys[i]);
robot.keyRelease(keys[i]);
robot.delay(delay);
}
}
}

Java实现智能机器自动操作电脑的更多相关文章

  1. GitHub Java项目推荐|不需要 ROOT权限的类似按键精灵的自动操作

    不需要 ROOT 权限的类似按键精灵的自动操作软件,可以实现自动点击.滑动.输入文字.打开应用等.Auto.js 的大部分用户用它来点赞.签到.刷游戏 项目分析 仓库名称:Auto.js 标星(sta ...

  2. Excel文档间的数据替换 ---电脑版APP 自动操作魔法师

    http://www.won-soft.com/macro/solution/excel-data-replace.htm 介绍: 在我们的日常工作中, 可能经常需要使用同各种数据表格打交道.比如财务 ...

  3. Java API —— IO流(数据操作流 & 内存操作流 & 打印流 & 标准输入输出流 & 随机访问流 & 合并流 & 序列化流 & Properties & NIO)

    1.操作基本数据类型的流     1) 操作基本数据类型 · DataInputStream:数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型.应用程序可以使用数据输出 ...

  4. 读Hadoop3.2源码,深入了解java调用HDFS的常用操作和HDFS原理

    本文将通过一个演示工程来快速上手java调用HDFS的常见操作.接下来以创建文件为例,通过阅读HDFS的源码,一步步展开HDFS相关原理.理论知识的说明. 说明:本文档基于最新版本Hadoop3.2. ...

  5. JAVA中的集合容器操作类

    目录 JAVA中的集合容器操作类 List集合 ArrayList的操作方法说明 LinkedList Stack Set Map Queue 总结 JAVA中的集合容器操作类 Java容器类库总共分 ...

  6. [转]C# 系统应用之鼠标模拟技术及自动操作鼠标

    原文网址: C# 系统应用之鼠标模拟技术及自动操作鼠标        游戏程序的操作不外乎两种——键盘输入控制和鼠标输入控制,几乎所有游戏中都使用鼠标来改变角色的位置和方向,本文主要是讲述如何使用C# ...

  7. C# 系统应用之鼠标模拟技术及自动操作鼠标

    游戏程序的操作不外乎两种——键盘输入控制和鼠标输入控制,几乎所有游戏中都使用鼠标来改变角色的位置和方向,本文主要是讲述如何使用C#调用Windows API函数实现鼠标模拟操作的功能.首先通过结合Fi ...

  8. java 线程 原子类相关操作演示样例 thinking in java4 文件夹21.3.4

    java 线程  原子类相关操作演示样例 package org.rui.thread.volatiles; import java.util.Timer; import java.util.Time ...

  9. .net reactor 学习系列(三)---.net reactor代码自动操作相关保护功能

    原文:.net reactor 学习系列(三)---.net reactor代码自动操作相关保护功能         接上篇,上篇已经学习了界面的各种功能以及各种配置,这篇准备学习下代码控制许可证. ...

随机推荐

  1. Android拓展系列(9)--Android视频录制screenrecord命令

    在Android4.4 Kitkat上集成了一个比较好用的视频录制功能.参考:http://forums.androidcentral.com/android-4-4-kitkat/329674-ho ...

  2. js:方法2. 字符串

    String.charAt()/String.charCodeAt() string.charAt(n); n:The index of the character that should be re ...

  3. Swift3.0语言教程获取字符串编码与哈希地址

    Swift3.0语言教程获取字符串编码与哈希地址 Swift3.0语言教程获取字符串编码与哈希地址,以下将讲解字符串中其它内容的获取方法. 1.获取字符串编码 在NSString中可以使用2个属性获取 ...

  4. Android自动化测试 - Robotium之Robotium在不同分辨率下clickonview不支持解决方案

    使用Robotium中的clickonview方法进行点击操作时,可能在你本机上能够顺利执行,但把脚本移植到不同分辨率的设备下却有可能点不到控件的情况. 网上找了一些资料,基本一条语句可以搞定: 在m ...

  5. win dos命令行设置ip和dns

    首先以管理员身份运行cmd,保证之后在黑框中输入的命令都有管理员权限 C:\Windows\system32>netsh netsh>int netsh interface>ip n ...

  6. ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework

    一.创建Model MVC中的Model是用来给View提供显示数据的对象. 这里我们首先创建一个Model对象. 在解决方案资源管理器中右键点击Models文件夹,选择添加->类.添加一个名为 ...

  7. 【Linux程序设计】之进程控制&守护进程

    这个系列的博客贴的都是我大二的时候学习Linux系统高级编程时的一些实验程序,都挺简单的. 实验题目:Linux环境下的进程控制 实验目的:熟悉并掌握Linux环境下进程的相关函数的应用:守护进程的概 ...

  8. BZOJ4504 : K个串

    从左往右枚举右端点,用一棵线段树维护每个左端点的去重后的区间和. 那么对于$a[r]$,需要在$[pre[a[r]]+1,r]$里区间加上$a[r]$. 将线段树可持久化,并维护区间最大值,就可以在线 ...

  9. Android中有关relativeLayout 和EditText的一些属性

      http://www.cnblogs.com/jqyp/archive/2010/10/23/1859182.html RelativeLayout用到的一些重要的属性: 第一类:属性值为true ...

  10. Android 插件开发,做成动态加载

    为什么需要插件开发: 相信你对Android方法数不能超过65K的限制应该有所耳闻,随着应用程序功能不断的丰富,总有一天你会遇到一个异常: Conversion to Dalvik format fa ...