vlambda博客
学习文章列表

SuperPatrick新增图像识别-使用说明-Java

SuperPatrick V1.1.2 版本更新说明


一、SuperPatrick定位器增加了新的部分功能


    1、新增截图功能,快捷键:shift+alt+a,截图完成双击图片区域保存,图片格式默认为.png

    2、新增截图图片保存路径显示功能,显示在“区域一”中;

    3、新增复制findImage函数体、findStaticImage函数体功能;

 

二、SuperPatrickLibrary.dll 新增了部分新功能


    1、新增findImage(String imagePath)方法,适用于电脑全屏图像识别点击;

    2、新增findStaticImage(String imagePath,int top,int left,int right,int bottom)方法,适用于自动化过程中相对屏幕位置较为固定的图像识别点击;

    3、新增findImageByHwnd(String hwndClass,String hwndTitle,String imagePath)方法,适用于能够通过SuperPatrick定位器获取到父窗口信息的基于父窗口内部的图像识别点击;


三、V1.1.2版 默认页面介绍:


SuperPatrick新增图像识别-使用说明-Java

代码格式:

    复制findImage函数体:findImage("D://1//截图测试280892904.png")

    复制findStaticImage函数体:findStaticImage("D://1//截图测试280892904.png",780,421,1144,665)

    至于findImageByHwnd方法则需要用户手动根据定位器中的属性信息,这里拿需要点击“电脑管家”中的某个位置为例;

    首先,定位到电脑管家的主窗口,如下图

SuperPatrick新增图像识别-使用说明-Java

    此时显示的Title以及Class后续在自动化代码中需要用到,随后使用shift+alt+a快捷键,截取在电脑管家中需要点击的按钮,比如“全面体检”按钮,截取保存到本地后,复制如下路径内容

SuperPatrick新增图像识别-使用说明-Java


    最终findImageByHwnd的代码为findImageByHwnd(“TXGuiFoundation”,电脑管家,”D://1//btn_全面体检.png”);


代码运行效果如下 

SuperPatrick新增图像识别-使用说明-Java


Java示例代码:

import com.sun.jna.Library;import com.sun.jna.Native;
public class dome { static boolean isok;
public interface SuperPatrickLibrary extends Library { void findElement(String pStrId, String pStrName, String pStrClassName, String controlType);
void sendKeys(String pKeysString);
void sendShortCutKeys(String pKeysString);
boolean findImage(String strPartImage);
boolean findStaticImage(String strPartImage, int a, int b, int c, int d);
boolean findImageByHwnd(String strClass, String strTitle, String strPartImage); }
public static void main(String[] args) throws InterruptedException { System.setProperty("jna.encoding", "GBK"); String dllPath = "SuperPatrickLibrary.dll所在你本地的绝对路径"; SuperPatrickLibrary superpatrick = (SuperPatrickLibrary) Native.loadLibrary(dllPath, SuperPatrickLibrary.class); superpatrick.findElement("307", "显示桌面", "", "Button"); isok = superpatrick.findImage("D://1//任务栏-电脑管家.png"); isok = superpatrick.findStaticImage("D://1//btn_全面体检.png", 1229, 373, 1408, 422); //由于执行较快,看不清效果,添加1s延时 Thread.sleep(1000); isok = superpatrick.findStaticImage("D://1//任务栏-有道云笔记.png", 635, 1038, 696, 1079); //由于执行较快,看不清效果,添加0.1s延时 Thread.sleep(100); isok = superpatrick.findImageByHwnd("NeteaseYoudaoYNoteMainWnd", "有道云笔记", "D://1//有道-我的文件夹.png"); }}

附图说明:

    任务栏-电脑管家.png为:SuperPatrick新增图像识别-使用说明-Java


    btn_全面体检.png为:SuperPatrick新增图像识别-使用说明-Java


    任务栏-有道云笔记.png为:


    有道-我的文件夹.png为: