java 鼠标精灵_纯Java实现跨平台鼠标键盘模拟、找图找色,Java版按键精灵

本文介绍了一种纯Java实现的鼠标键盘模拟和图像颜色比较的方法,包括延迟操作、鼠标点击、键盘按键以及屏幕上的颜色比较和图片搜索功能。提供了具体的代码示例,适用于自动化测试和辅助操作。
摘要由CSDN通过智能技术生成

由原本的Java使用JNI调用dll实现模拟辅助操作,升级到纯Java来实现,最新: https://github.com/xnx3/xnx3

/**

* 鼠标、键盘、延迟等基本操作

*/

public static void simple(){

Robot robot = new Robot();

robot.delay(1000);  //延迟等待1秒

robot.mouseRightClick(400, 400);    //点击鼠标右键

robot.delay(300);   //延迟等待0.3秒

robot.mouseLeftClick(400, 400);     //点击鼠标左键

robot.press(KeyEvent.VK_H);     //按h键

robot.press(KeyEvent.VK_SHIFT, KeyEvent.VK_CONTROL);    //按下SHIFT键后又按下CTRL键

}

/**

* 点的颜色比较

*/

public static void colorCompare(){

Robot robot = new Robot();

//获取屏幕上某点颜色

Color color = robot.getPixelColor(100, 100);

System.out.println("当前点的颜色值:"+ColorUtil.colorToHex(color));

//判断屏幕上制定点的颜色是否跟指定颜色相匹配(近似相等)

boolean b = robot.getColorCompare(100, 100, "EBF1F9", Robot.SIM_ACCURATE);

System.out.println("匹配颜色相似度:"+(b? "相似":"不相似"));

}

/**

* 图片搜索

* 为提高搜索的精确度,推荐使用配套工具截图 http://www.xnx3.com/software/xnx3/ScreenCapture

*/

public static void imageSearch(){

Robot robot = new Robot();

robot.setSourcePath(RobotDemo.class);   //设置此处是为了让程序能自动找到要搜索的图片文件。图片文件在当前类下的res文件夹内

//在当前屏幕上搜索search.png图片,看起是否存在

List list1 = robot.imageSearch("search.png", Robot.SIM_ACCURATE);

System.out.println(list1.size()>0? "搜索到了"+list1.size()+"个目标":"没搜索到");

if(list1.size()>0){

for (int i = 0; i < list1.size(); i++) {

CoordBean coord = list1.get(i);

System.out.println("搜索到的第"+(i+1)+"个坐标:x:"+coord.getX()+",y:"+coord.getY());

}

}

//在屏幕上指定的区域:左上方x100,y100, 右下方x300,y300的范围内搜索多个图像

List list2 = robot.imageSearch(100, 100, 300, 300, "search.png|L.png", Robot.SIM_BLUR_VERY);

System.out.println(list2.size()>0? "搜索到了"+list2.size()+"个目标":"没搜索到");

if(list2.size()>0){

for (int i = 0; i < list2.size(); i++) {

CoordBean coord = list2.get(i);

System.out.println("搜索到的第"+(i+1)+"个坐标:x:"+coord.getX()+",y:"+coord.getY());

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值