Java辅助程序之键鼠控制(附有代码及运行结果)

这个主要是针对两批人,一部分是编译器没有模板懒得每次都敲的,第二种就是大家打一些单机游戏(网游不支持你们去搞,尤其是PVP,因为无论如何都是影响别的玩家的游戏体验)需要反复刷东西的人群。
首先,承认一点:C系列相对运行效率高,但本人技术有限只会java调用Robot、System、Runtime等对象的方法,请大佬勿喷。
言归正传:
首先说的是:Robot类
Robot类主要用于 Java 实现自动测试。提供了delay(n)(其中参数n代表毫秒数)、keyPress()(模拟手动按下电脑键盘上的某个键)、keyRelease()(模拟手动松开电脑键盘上的某个键)、mouseMove(x,y)(将鼠标移动到指定的x,y位置)、mousePress()(按下鼠标上的某个键)、mouseRelease()(松开鼠标上的某个键)、getPixelColor(x,y)获取屏幕指定坐标处像素颜色、createScreenCapture(Rectangle screenRect)截图功能
注意:
1.按下一个键必须松开这个键,即keyPress()与keyRelease()必须成对出现
2.键盘参数用KeyEvent的各个变量或者方法处理
3.InputEvent.BUTTON1_MASK为鼠标左键参数InputEvent.BUTTON2_MASK鼠标中键参数(有的是滚轴)、InputEvent.BUTTON3_MASK鼠标右键参数
当然,控制类和其他的不常用的方法就不详细展开了。有兴趣的小伙伴可自行检索。
代码(实现了运行10S后在鼠标当前位置模拟按键打出iloveu并在控制台输出当前颜色):

package tom.app;

import java.awt.*;
import java.awt.event.KeyEvent;

public class mainClass {
    public static void main(String[] args){
        Robot robot = null;
        try {
            robot = new Robot();
            robot.delay(10000);//传入10000毫秒,表示10秒钟延迟
            robot.keyPress(KeyEvent.VK_I);
            robot.keyRelease(KeyEvent.VK_I);
            robot.keyPress(KeyEvent.VK_SPACE);
            robot.keyRelease(KeyEvent.VK_SPACE);
            robot.keyPress(KeyEvent.VK_L);
            robot.keyRelease(KeyEvent.VK_L);
            robot.keyPress(KeyEvent.VK_O);
            robot.keyRelease(KeyEvent.VK_O);
            robot.keyPress(KeyEvent.VK_V);
            robot.keyRelease(KeyEvent.VK_V);
            robot.keyPress(KeyEvent.VK_E);
            robot.keyRelease(KeyEvent.VK_E);
            robot.keyPress(KeyEvent.VK_SPACE);
            robot.keyRelease(KeyEvent.VK_SPACE);
            robot.keyPress(KeyEvent.VK_U);
            robot.keyRelease(KeyEvent.VK_U);
            PointerInfo pointerInfo = MouseInfo.getPointerInfo();//获取当前鼠标坐标
            Color color = robot.getPixelColor( pointerInfo.getLocation().x ,
                    pointerInfo.getLocation().y );
            System.out.println(color);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

运行结果:
在这里插入图片描述

你可能感兴趣的:(java)