最新消息:

【易语言】大漠插件使用

编程 eben 212浏览 0评论

一、调用插件

1.调用大漠

首先下载大漠插件:大漠插件

PS:大漠插件收费,账号注册只有每个月的1号到3号

下载完成后把Dm.dll和DmRed.dll放到同目录文件夹下,然后新建一个易语言程序。

【易语言】大漠插件使用-1

PS:DmReg.dll是大漠免注册。(不是账号免注册)

        大漠插件是COM组件,COM组件是Windows系统的重要组成部分。它们是系统中一些比较小的二进制可执行程序,可以为应用程序、操作系统等组件提供一定的服务。如果COM组件被禁止,可能会导致视频、音乐等无法正常播放,可能会出现很多情况。所以注册COM组件是一件很重要的事情。

【易语言】大漠插件使用-2

然后使用解压包中的工具,生成一个类文件。

【易语言】大漠插件使用-3

【易语言】大漠插件使用-4

【易语言】大漠插件使用-5

【易语言】大漠插件使用-6

打开类文件,全部复制。

【易语言】大漠插件使用-7

去易程序上新添加一个类。

【易语言】大漠插件使用-8

把数据复制进去,并且改类名为 dmsoft 给一个私有对象 Obj

【易语言】大漠插件使用-9

然后新建一个全局变量其数据类型就是 dmsoft 这个类。

【易语言】大漠插件使用-10

【易语言】大漠插件使用-11

好了到这里就可以使用这个变量使用dmsoft 类的方法了。

2.大漠免注册

大漠免注册要使用DmReg.dll文件里面的函数,所以这里先加载dll。

【易语言】大漠插件使用-12

【易语言】大漠插件使用-13

 

 

PS:也可以使用绝对路径,这里把dll文件放到了程序同文件夹下,就可以使用相对路径。

然后再添加一个API初始化COM库。

【易语言】大漠插件使用-14

 

然后开始写免注册流程。(这里代码不支持易的格式,直接复制截图)

【易语言】大漠插件使用-15

PS:这里设置一个了一个pic文件夹目录,这个文件夹下面是存放,大漠找图函数所需要的,抓取的图片。

PS:字库文件是,Ocr函数需要用来识别字体。

二、常用函数的使用

大漠插件的命令有很多,解压包里面有接口的使用说明

【易语言】大漠插件使用-16

1.找图

这里要使用解压包里面带的工具。

【易语言】大漠插件使用-18

首先抓取一张图片。

【易语言】大漠插件使用-19

【易语言】大漠插件使用-20

【易语言】大漠插件使用-21

我抓取了这张图片。然后把图片保存到设置好的pic目录里面去。

 

然后进易语言使用找图函数。

【易语言】大漠插件使用-23

这里还是简单说明一下参数的意义,因为这里截图的是整个屏幕的一部分,所以取整个屏幕的大小1920*1080,(实际上应该把0算是一个像素,该是1919*1079,这里为了方便) ,所以前面是截取屏幕的大小位置。

然后就是刚刚截取的图片名称,这里很明了

delta_color是偏色值,也可以使用 “020202”  “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:如果父窗口没绑定成功,可以试试子窗口,并不是所有的都是父窗口绑定的。

最后使用大漠的后台绑定命令来绑定窗口

发现有非常多的模式可以选择,不过这里已经测试出来了,直接用命令绑定。

首先查找模拟器顶级窗口句柄,可以使用函数。

其返回值,就是找到后的模拟器窗口的句柄。(句柄是个整数变量)

通过顶级窗口句柄就可以找到其子窗口句柄,要使用一个命令。

然后就可以使用其子窗口的句柄进行后台绑定。

会发现后面的参数就是刚刚测试过的模式,直接输入进去就可以,如果懒的输入, 可以直接在工具上生成。

 

测试:

 


绑定后台成功后,就可以再试试前面几个命令。如果要自动化多个程序(多开),就要行对应的程序绑定,这样每个程序互不影响。

转载请注明:落伍老站长 » 【易语言】大漠插件使用

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址