易语言大漠插件使用
大漠插件的初级使用,大漠插件很多语言都可以调用,易语言调用起来简单而且容易学会,只要学会一种语言的使用,其实的语言大差不差。
一、调用插件 1.调用大漠首先下载大漠插件:大漠插件
PS:大漠插件收费,账号注册只有每个月的1号到3号
下载完成后把Dm.dll和DmRed.dll放到同目录文件夹下,然后新建一个易语言程序。
PS:DmReg.dll是大漠免注册。(不是账号免注册)
大漠插件是COM组件,COM组件是Windows系统的重要组成部分。它们是系统中一些比较小的二进制可执行程序,可以为应用程序、操作系统等组件提供一定的服务。如果COM组件被禁止,可能会导致视频、音乐等无法正常播放,可能会出现很多情况。所以注册COM组件是一件很重要的事情。
然后使用解压包中的工具,生成一个类文件。
打开类文件,全部复制。
去易程序上新添加一个类。
把数据复制进去,并且改类名为 dmsoft 给一个私有对象 Obj。
然后新建一个全局变量其数据类型就是 dmsoft 这个类。
好了到这里就可以使用这个变量使用dmsoft 类的方法了。
2.大漠免注册大漠免注册要使用DmReg.dll文件里面的函数,所以这里先加载dll。
PS:也可以使用绝对路径,这里把dll文件放到了程序同文件夹下,就可以使用相对路径。
然后再添加一个API初始化COM库。
然后开始写免注册流程。(这里代码不支持易的格式,直接复制截图)
PS:这里设置一个了一个pic文件夹目录,这个文件夹下面是存放,大漠找图函数所需要的,抓取的图片。
PS:字库文件是,Ocr函数需要用来识别字体。
二、常用函数的使用大漠插件的命令有很多,解压包里面有接口的使用说明
1.找图
这里要使用解压包里面带的工具。
首先抓取一张图片。
我抓取了这张图片。然后把图片保存到设置好的pic目录里面去。
然后进易语言使用找图函数。
这里还是简单说明一下参数的意义,因为这里截图的是整个屏幕的一部分,所以取整个屏幕的大小1920*1080,(实际上应该把0算是一个像素,该是1919*1079,这里为了方便) ,所以前面是截取屏幕的大小位置。
然后就是刚刚截取的图片名称,这里很明了
delta_color是偏色值,也可以使用 “020232” “000000”
sim是相识度,越高要查找的相识度就越高。
dir是从什么方向查找,0就是从屏幕左到右,从上到下。
最后的 x,y 是查找到图片后,返回其图片左上角的坐标。
函数如果没找到返回-1。
测试:
这里可以移动一下图标的位置试试,是否还是能找到。
这里稍稍移动了一下图标,发现其还是能找到,但是坐标变了。
这里要注意这是前台找图,如果有其他东西挡住了图片,是找不到的。
拓展:透明图找法
一般的图片截图下来后,后面底色太多,程序识别效率低下,所以要制作透明图来提高效率。
然后用油漆桶上色,
保存返回后,多试几次,知道把影响色去掉。
然后保存
这样透明图就做好了
2.找多图
找图的升级版,一次性可以找出多个图片。这里跟上面一样,多抓一几张图。
使用函数命令。
这里会发现其他参数跟找图的大差不差,只是要添加多个图片的名字,用 “ | ” 隔开。
这里函数的返回值是个字符串,其前面的0,1,2是对应图片的序号,这里0对应的就是“测试.bmp”图片,后面的则是其图片对应的左上角的坐标。
3.识字首先找字的效率比找图要低,然后找字需要做字库。
这里同样使用大漠综合工具,截取一些字的图片。
观察这里的二值化区域,如果其字体不是很明显。使用找色去找字体上的颜色,然后偏色打上钩,注意这里要使用RGB模式。直到字体二值化比较清晰和明朗。
弄好了后要记一下色彩描述,后面命令要使用。
新建一个字库
上*.txt文件看看。
然后去使用找字命令看看能不能找到。
首先这里要设置字库文件的位置。
使用找字命令
前面几个参数跟找图一样是设置位置 (这里我缩小了一点范围,好识别) 。
color 是前面要记住的色彩描述直接复制过来就行。(注意是字符串格式)
返回识别到的字符串
懒的自己打这里也可以配置好后,直接复制。
测试:
找到后会直接返回字符串。
4.找字这个函数跟识字的操作和使用方法一样。只不过多了可以返回的x,y坐标。
测试:
0 说明找到了字符串。如果有多个相同字符串就不要用此命令了,因为x,y坐标只记录第一个找到的字符串位置。
5.找多字
使用方法跟找字差不多,不过可以找多个字符串。
找多个字符串用 “ | ” 隔开。比如:"学习|上班|睡觉",最后的函数返回值,返回的序号就代表找到了第几个字符串。
测试:
这里找出了屏幕上所有“学习”的位置,会发现前面的序号都是0。
6.取色配合大漠综合工具使用
注意选取的是RGB
会发现是一样的。
7.比色
PS:色彩描述串是字符串格式的。
0代表匹配上了。
8.找色使用方法跟上面差不多,color 是要查找颜色的色彩描述串。
其找到颜色后返回1,并把其坐标复制给x,y。
PS:此命令可以取反色。
这样就可以在指定返范围查找,除此颜色之外的颜色。
拓展:这里找字和找图可以把文件加载到内存中,就不用再程序目录下放置图片和字库了。
首先把图片放到易程序中。
PS:内容是图片的长度,后面可以直接用。
然后就可以使用内存找图命令。
此命令跟前面找图大差不差,但是 要注意这里Pic_info里面要用图片的地址和长度,都是字符串类型,用逗号隔开。
此命令还可以查找多个图片。
把字库导入进去直接使用,然后设置一下内存字库,就可以使用找字命令了。
内存找图找字跟一般的方法都差不多,但是这个会增加程序大小,而且一般写自动化需要的图片很多,这个方法不是很方便,所以不怎么推荐使用。
三、后台绑定前面找图和找字都是在前台找的,这里学习一下后台操作。
前台:不绑定窗口,直接动用鼠标,非常安全。以屏幕为起点。
后台:绑定游戏窗口,以游戏窗口为起点。后台操作不抢鼠标,可以多线程工作。
这里使用雷电模拟器来学习。
绑定时一般要结合解压包里面的绑定测试工具来使用。
首先要注意的就是分辨率,这里把大漠插件绑定到模拟器后台后,其最大的范围也就是只有,720*1280,其开始坐标就不是以屏幕开始了,而是以模拟器的左上角开始。
所以截取模拟器截图的时候,一定用工具绑定模拟器窗口,不然截取的坐标是屏幕的坐标。
在windows系统中,每个窗口都有窗口句柄、窗口类名、窗口标题。
窗口句柄在重新打开软件后会改变,但是可以通过窗口类名和标题来找到句柄。
父窗口下面还有子窗口,比如这里模拟器就一个子窗口。
还有个孙窗口
而绑定后台就需要绑定窗口。 (一般绑定顶级窗口或者子窗口就能成功绑定后台模式)
这里使用大漠命令来绑定窗口。而这里就要测试,不同的软件绑定的模式不一样,这样使用解压包里面的绑定测试工具来测试。
使用瞄准镜移动到模拟器上。
然后开始测试绑定模式。
这里选择gdi,然后绑定,测试一下。
发现就算挡住了游戏窗口,结果还是能完整的截图,那么说明其模式是正确的。
选取模拟一个位置,看看鼠标是否能移动过去和点击,如果有反应说明模式正确,反之错误,需要重新换一下模式。(这里我测试就是windows这个模式)
最后测试一下键盘的模式。
发现能往模拟器中输入,说明键盘模式也绑定成功了。
PS:如果父窗口没绑定成功,可以试试子窗口,并不是所有的都是父窗口绑定的。
最后使用大漠的后台绑定命令来绑定窗口
发现有非常多的模式可以选择,不过这里已经测试出来了,直接用命令绑定。
首先查找模拟器顶级窗口句柄,可以使用函数。
其返回值,就是找到后的模拟器窗口的句柄。(句柄是个整数变量)
通过顶级窗口句柄就可以找到其子窗口句柄,要使用一个命令。
然后就可以使用其子窗口的句柄进行后台绑定。
会发现后面的参数就是刚刚测试过的模式,直接输入进去就可以,如果懒的输入, 可以直接在工具上生成。
测试:
绑定后台成功后,就可以再试试前面几个命令。如果要自动化多个程序(多开),就要行对应的程序绑定,这样每个程序互不影响。