随笔 - 20  文章 - 57  trackbacks - 0
<2010年11月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

51CTO

搜索

  •  

最新评论

阅读排行榜

评论排行榜

/**
     *         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);
    }
   

}


posted on 2010-11-17 00:14 tovep 阅读(5406) 评论(1)  编辑  收藏

FeedBack:
# re: Java实现自动化_Robot类简单应用 2016-01-20 23:19 试试
是是是  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
主页