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版 默认页面介绍:
代码格式:
复制findImage函数体:findImage("D://1//截图测试280892904.png")
复制findStaticImage函数体:findStaticImage("D://1//截图测试280892904.png",780,421,1144,665)
至于findImageByHwnd方法则需要用户手动根据定位器中的属性信息,这里拿需要点击“电脑管家”中的某个位置为例;
首先,定位到电脑管家的主窗口,如下图
此时显示的Title以及Class后续在自动化代码中需要用到,随后使用shift+alt+a快捷键,截取在电脑管家中需要点击的按钮,比如“全面体检”按钮,截取保存到本地后,复制如下路径内容
最终findImageByHwnd的代码为findImageByHwnd(“TXGuiFoundation”,”电脑管家”,”D://1//btn_全面体检.png”);
代码运行效果如下
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为:
btn_全面体检.png为:
任务栏-有道云笔记.png为:
有道-我的文件夹.png为: