[远航笔记流水账]易语言调用大漠初级入门(1)

第1章基础应用

1.易语言调用大漠之注册与调用

这节课没什么 记住老师的大漠插件的注册调用的那4步就行

不过注意的是本节课老师这里提到了一个判断系统是否注册大漠的函数

image

我用的是远航5.3模块  我仔细看了看模块下的子程序 并没有这个名字的函数 估计是去掉了 对我们的注册调用大漠没什么影响 只需要按照4步走即可

基本结构(再重复下)

image


个人理解:关于模块里面的全局变量和易语言下的的同名全局变量的关系(个人理解不知道对错)

远航模块下的公共变量 全局大漠 来看

image

正常而言 我们在易语言里面引用了这个模块 就会自动创建这些模块内的类 全局变量 各种带来的子程序等等,所以我们不需要在易语言里面声明这些模块带来的变量类子程序就可以直接调用他们,但是有的时候我们不可能完全清楚一个模块里面定义的所有子程序 全局变量 类 dll等等 ,比如 我不知道远航模块里面已经给我们声明了全局变量 全局大漠,所以我就用这个全局大漠的名字 在易语言内重新声明了下这个全局变量 ,我们这个动作就把全局大漠这个变量重新定义了下  这个变量已经不是模块里面声明的那个变量 而是我们在易语言内声明的那个变量(覆盖了)

比如我在易语言里面重新声明了这个变量的类型 为对象类型

image

那么再次运行大漠插件注册部分就会报错

image

很明显 在模块里面 全局大漠这个变量是 大漠中文版 这个类型 而我们在易语言里面声明覆盖了模块里面的该变量的声明  全局大漠这个变量变成了 对象 这个类


小知识:模块下各种子程序 类 全局变量 常量的排列顺序是按照字母顺序的 如果是汉字 按照第一个字母为序排列

image

这样对我们查找模块的指定内容应该有帮助


2.易语言调用大漠之文字与图片识别

本节课也没说什么 只是简单的找字()找图()函数的应用

不过唤醒了我的某些远古记忆

因为不同的操作系统下 图色显示有差异 比如XP 和win7下 显示就存在差异  我个人现在常用win10 如果客户是其他操作系统 就可能出现 我在win10系统下制作的字库 未必在那边可用 我win10下的截图未必客户那边系统下可用 虽然有一些措施来减少这些问题 比如文字平滑 固定分辨率等等 窗口固定大小 还是有些差异 忘了当年如何处理的 希望远航这里有针对性的讲解下这部分

全局大漠.字库_置文件 (0, “dm_soft.txt”)  ' 字库颜色范围为333333-202020|7c7c7c-101010|939393-000000
全局大漠.找图 (377, 39, 499, 139, “表情包标志.bmp”, “101010”, 0.8, 0, intX, intY)
调试输出 (到文本 (intX) + “:” + 到文本 (intY))
全局大漠.找字 (838, 60, 1358, 484, “登录”, “333333-202020|7c7c7c-101010|939393-000000”, 0.9, intX, intY)
调试输出 (到文本 (intX) + “:” + 到文本 (intY))

还是要注意字库对应的颜色范围尽量不要忘记 标注好 以防之后忘记


小知识:如何快速的填写函数的参数

看远航老师就是如此操作 顺便学学

快速展开函数和收缩函数 填写函数参数用起来挺方便

alt+向右箭头为展开函数

alt+向左箭头为收缩函数

image

向括号内加入逗号 数量随意

image

alt+向右箭头展开该函数的参数

image

参数显示不全就回车换行继续增加参数行 参数超出就Backspace删除多余的空的参数行

image

然后依次的填入参数 然后 alt+向左箭头 收缩函数 恢复一行

image

3.易语言调用大漠之系统字库制作

做系统字库很简单 但是主要是看字的颜色是否干净 是否可以确定好字的颜色范围 确定好颜色范围后 在字库列表右键查询系统字库  确定字体信息到系统字库那里生成一个对应当前字体的系统字库 然后脚本注意切换好这个字库

做系统字库的步骤也不多说了

 

小知识:找字()和找字fast()的区别

如果字库很大 用找字()可能会找不到 因为它首先要在大字库里面搜索对应的字库点阵信息 时间上来不及 所以找字()只是适合找小字库

小字库---找字()

大字库系统字库--找字fast()


4.易语言调用大漠之不规则字体字库制作

如果文字本身的颜色不稳定 就采用加大偏色或者多种颜色一起来确定字体颜色范围

.版本 2
.支持库 spec

全局大漠.找字 (0, 0, 2000, 2000, “调用”, “000000-202020|777777-202020|00003b-202020”, 0.9, intX, intY)
调试输出 (到文本 (intX) + “:” + 到文本 (intY))

5.易语言调用大漠之图片与透明图制作

简单的很

截图--编辑--选择魔术棒--设置容差一般在5-15之间  找一个图片核心内容(固定不变的部分)的中间颜色 使用魔术棒选择一定区域---按住shift 继续选择当前没有被选中的图片核心区域 ---直到整个图片核心内容都被选中为止---反向选择--使用水桶工具把背景色区域都涂抹成一个颜色 --看看四个角保证4个角颜色一致---用自动裁剪处理下 ---保存图片--透明图完毕

image

image

如果核心图片和别动的背景有相似的颜色 用魔术棒选区可能会被一起选中 可以用橡皮擦工具把这些可能的相似的背景去掉 或者直接ps处理下也可以 不过总体而言 透明图的思路能解决问题 但是做透明图有点麻烦 几张透明图可以 但是几百张就姚明  根据情况自己选择把

6.易语言调用大漠之前后台及绑定操作

本节课老师没有说如何绑定 绑定的参数如何选择  测试绑定的工具等等 只是简单的绑定了一个普通窗口然后找字 测试

绑定的代码 非常简单 写入绑定的各种参数 然后判断绑定结果即可 后台句柄为程序集变量 如果没有被绑定默认为-1  绑定成功则是正常的窗口句柄 这样当我们点击后台找图之类的按钮首先判断下后台句柄变量是否为-1 为-1则无需执行后台找图命令

image

 

小知识:以后延时函数用 辅助延时() 来实现 不要用易语言本身的那2个 会出现问题

小知识:绑定了窗口一定要注意解绑

如果绑定后 关闭脚本没有解绑 后台窗口一直处于绑定状态会消耗大量资源也会产生一些异常情况

目前的处理办法是这样的 在窗口销毁事件加上解绑命令避免没解绑的尴尬和意外 等看看老师后面有没有其他更加准确的方法

image

123

转载于:https://www.cnblogs.com/zjl8455482/p/10427630.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
错误代码解释:0表示无错误,-1:表示你使用了绑定里的收费功能,但是没注册,无法使用,-2:使用模式0246时出现,因为目标窗口有保护,或者目标窗口没有以管理员权限打开.常见于win7以上系统.或者有安全软件拦截插件.解决办法:关闭所有安全软件,并且关闭系统UAC,然后再重新尝试.如果还不行就可以肯定是目标窗口有特殊保护,-3:使用模式0246时出现,可能目标窗口有保护,也可能是异常错误.还有可能是绑定的窗口是64位应用程序,可以尝试换绑定模式或许可以解决,-4:使用模式1357101103时出现,这是异常错误,-5:使用模式1357101103时出现,这个错误的解决办法就是关闭目标窗口,重新打开再绑定即可.也可能是运行脚本的进程没有管理员权限,-6:被安全软件拦截,典型的是金山.360等.如果是360关闭即可.如果是金山,必须卸载,关闭是没用的,-7-9:使用模式1357101,103时出现,异常错误.还有可能是安全软件的问题,比如360等.尝试卸载360,-8-10:使用模式1357101103时出现,目标进程可能有保护,也可能是插件版本过老,试试新的或许可以解决,-8可以尝试使用DmGuard中的np2盾配合,-11:使用模式1357101103时出现,目标进程有保护.告诉我解决,-12:使用模式1357101103时出现,目标进程有保护.告诉我解决,-13:使用模式1357101103时出现,目标进程有保护.或者是因为上次的绑定没有解绑导致.尝试在绑定前调用ForceUnBindWindow,-14:使用模式0145时出现,有可能目标机器兼容性不太好.可以尝试其他模式.比如236,7,-16:可能使用了绑定模式0123和101,然后可能指定了一个子窗口.导致不支持.可以换模式4567或者103来尝试.另外也可以考虑使用父窗口或者顶级窗口.来避免这个错误.还有可能是目标窗口没有正常解绑然后再次绑定的时候,-17:模式1357101103时出现.这个是异常错误.告诉我解决,-18:句柄无效,-19:使用模式0123101时出现,说明你的系统不支持这几个模式.可以尝试其他模式,-20:使用模式1357101103时出现,说明目标进程里没有解绑,并且子绑定达到了最大.尝试在返回这个错误时,调用ForceUnBindWindow来强制解除绑定,-21:使用模式1357101103时出现,说明目标进程里没有解绑.尝试在返回这个错误时,调用ForceUnBindWindow来强制解除绑定,-100:调用读写内存函数后,发现无效的窗口句柄,-101:读写内存函数失败,-200:AsmCall失败

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值