• Robot的使用


     在Java中,有一个类,非常神奇,它能帮助你完成某些任务,例如:打开笔记本/QQ等。

    今天,我就说一下Robot类的使用方法吧,做一个打开记事本的小程序。

    1.准备工作

    JDK:不知道的别看了

    开发工具:IDEA/Eclipse

    这个,学Java的都有吧,或者用Eclipse,在本博客中用IDEA

    2.开始

    启动开发工具,我用的是破解版的:

    在学习一个类的时候,我们要将它实例化:

    Robot robot = new Robot();

    因为Robot类容易出问题,所以要 抛出/捕捉 异常:

    throws Exception

    或者:

    try {
        // code
    } catch (Exception e) {
        System.out.println("异常出现");
    }

     既然今天我们是要做一个打开记事本的小程序,name。。。

    // 调用系统方法打开记事本
    Runtime.getRuntime().exec("notepad");

    这就相当于:Win+R,键入“notepad”,Enter。

    这样,就打开了记事本。

    等待一会,电脑慢的,说你呢。

    robot.delay(2000);

    Robot中自带一个delay方法,可以休眠一会。

    我们再让它全屏吧:

    // 全屏显示
    keyPressWithAlt(robot,KeyEvent.VK_SPACE);
    keyPress(robot, KeyEvent.VK_X);
    
    // 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 keyPress(Robot r, int key) {
       // 按下键
       r.keyPress(key);
       // 释放键
       r.keyRelease(key);
    
       r.delay(1000);
    }

    em,对,这就相当于:Alt+空格+X,试试是不是最大化了?

    // 输入字符串
    keyPressString(robot, "完美~~~");
    // 输入字符串
    public static void keyPressString(Robot r, String str) {
        // 获取剪切板
        Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
        // 将传入字符串封装下
        Transferable tText = new StringSelection(str);
        // 将字符串放入剪切板
        clip.setContents(tText, null);
        // 按下Ctrl+V实现粘贴文本
        keyPressWithCtrl(r, KeyEvent.VK_V);
        r.delay(100);
    }

    这就是:键入“完美~~~”

    结束,希望能你们带来帮助,,,

    转发请注明出处及网址,否则要追究法律责任。
  • 相关阅读:
    C#中线程安全的单例模式
    分布式服务和库表设计模式详解
    通俗易懂的讲解下Java注解
    MEF框架使用总结
    Docker:四、Docker进阶 Windows Docker IIS 部署
    Docker:三、深入Docker容器&Asp.net发版
    Docker:二、开始部署第一个Asp.net应用
    Docker:一、开始部署第一个Asp.net应用
    Docker:常见命令
    .net 中的 StringBuilder 和 TextWriter 区别
  • 原文地址:https://www.cnblogs.com/fishing-blog/p/9064113.html
Copyright © 2020-2023  润新知