Java下的Robot类可以方便模拟人工键盘按键,鼠标定位并且模拟单击,以及屏幕坐标位置颜色的获取,大家可以扩展思路开发你所需要的功能。
一、键盘模似
import java.awt.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
public class KeyboardAPI {
public static void main(String[] args) {
try {
Robot robot = new Robot();
robot.delay(5000);
while(true) {
//设置延时
robot.delay(3000);
//模拟按键 k
robot.keyPress(KeyEvent.VK_K);
//使用随机数0.1-0.5秒
int KeySecond = (int) (Math.random() * (500 - 100) + 100);
robot.delay(KeySecond);
robot.keyRelease(KeyEvent.VK_K);
System.out.println("当前按键弹出随机数:" + KeySecond);
//下一轮按键时间,随机数:1-5秒之间
int LoopDelay = (int) (Math.random() * (5000 - 1000) + 1000);
System.out.println("下一轮按键随机数:" + LoopDelay);
robot.delay(LoopDelay);
}
} catch (AWTException e) {
e.printStackTrace();
}
}
}
二、鼠标单击
import java.awt.*;
import java.awt.event.InputEvent;
public class Mouse {
public static void main(String[] args) {
try {
Robot robot = new Robot();
robot.delay(5000);
//鼠标移动
robot.mouseMove(1500,500);
int wait = (int)Math.random()*(500-100)+100;
//实时模拟人手工延时操作
robot.delay(wait);
//鼠标左键单击
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
//实时模拟人手工延时操作
wait = (int)Math.random()*(500-100)+100;
robot.delay(wait);
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
} catch (AWTException e) {
e.printStackTrace();
}
}
}
三、屏幕坐标颜色的获取
import java.awt.*;
public class Screen {
public static void main(String[] args) {
try {
Robot robot = new Robot();
//延时5s
robot.delay(5000);
//给出屏幕 x=900,y=500点位置的颜色,可以判断地图位置
Color pixelColor = robot.getPixelColor(900, 500);
System.out.println(pixelColor.getRed());
System.out.println(pixelColor.getBlue());
System.out.println(pixelColor.getGreen());
} catch (AWTException e) {
e.printStackTrace();
}
}
}