凌哥E编程模块3.1.1更新时间2021年01月28
本帖最后由 十万个为什么 于 2021-2-28 14:48 编辑模块名称:凌哥E编程模块3.1.1更新时间2021年01月28
模块简介:凌哥E编程模块为2021年最新版本。
所有功能不会与其它模块产生冲突;DLL命名不重复;所有函数已考虑到多线程兼容性;对象参数返回严格按照数据类型定义而不是靠易语言自动转换(如变体型),完美兼容黑月;各个函数均有完整注释;所有函数追求高效率的同时兼顾稳定性、兼容性。
【释放文件路径规范】C:\Users\administrator\AppData\Roaming\凌哥E编程模块\
路径中的 administrator 代表当前计算机登录的用户名;模块释放的各种插件DLL都会存放在这个目录里面
查看当前程序数据路径方式: L_文件_执行 (L_目录_取特定目录 (8) + "凌哥E编程模块" )
模块的内存操作在测试时处理长度均为百万、千万级,效率与稳定性多次测试。参考《windows核心编程第五版》以及我对易语言的了解来优化
使用模块功能前必须将 "Ling.dll" 文件放到易语言根目录下的 "plugins" 文件夹中,否则会报错!
"Ling.dll" 禁止在虚拟机内调试/编译;编译后的软件不依赖 "Ling.dll" 请放心
本模块一些功能的传参(比如线程方面的代码)基本是传递字节集 遇到问题请详细阅读子程序/参数的备注文本
部分功能介绍
全局异常捕获 - 原生支持多线程
• 能够捕捉到出错代码在IDE中的具体位置,接管易语言的错误提示,兼容多线程、子程序穿插调用
• 经过测试在「i7 8700k」上执行一千万次循环耗时约100毫秒;记录代码流程运行耗时约500毫秒
• 支持记录代码执行流程,在多线程中能够清晰地了解程序代码执行过程,方便分析异常原因 [点击查看效果图]
• 本类是无锁的设计,丝毫不影响多线程的效率!可设置自己的RSA秘钥用于代码信息加密,能够安全地用于正式发布的软件上~
• 配套工具:只要将源代码文件拖放进去即可在同目录下面生成处理后的源码文件(.e) 非常方便了
线程池 - 可直接传递字节集参数
•我的线程池内部有一个工作线程,用来控制内部线程的创建
• 线程自动回收:一定时间内没有接收到新任务,多余线程会被自动收回,总线程数减少至设定的最小线程数;以免空跑循环吃资源
•最小/最大线程数、最大队列数、线程空闲回收时间、线程初始栈大小 均可「随时修改」并且是实时生效的
•经过多次暴力测试与纠正,不会有内存/句柄出现泄漏的情况,稳就一个字~
• 加入队列:每个队列可以选择执行不同的子程序,以及直接传递字节集数据;并且在执行的子程序中可以调用:线程池.取任务参数(队列ID) 来获得传递过来的字节集内容~具体请看压缩包内附带的例子
•可以随时暂停/恢复工作,包括正在执行中的队列也会暂停/恢复(可选)
Cookie智能管理(线程安全)
• 内部自动处理cookie信息 Max-Age、Secure、domain、path 与浏览器的处理方式差不多
•比其它易语言模块的Cookie管理更标准,而且可以避免很多目标网站在cookie设下的大坑
• 我这个应该是易语言史上最完美的Cookie管理类,是完全按照Cookie规则来处理的
•在多线程中可以不加锁直接操作,内部自带锁,考虑过去除内部临界许可,但是那样效率会很低
• Cookie操作方法中都带有一个参数【唯一标识】;对每个cookie做标记,适用于多账号POST登录处理时的Cookie管理
当然也有其它特殊用途,自己发掘吧~
hp-socket
•HP-Socket是一套通用的高性能TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的TCP/UDP/HTTP通信系统,提供C/C++、C#、Delphi、E(易语言)、Java、Python等编程语言接口。HP-Socket对通信层完全封装,应用程序不必关注通信层的任何细节;HP-Socket提供基于事件通知模型的API接口,能非常简单高效地整合到新旧应用程序中。
• 模块内部深度封装了同步通讯功能,仅需三句代码即可实现,兼容多线程!具体使用方法请看例子
•本模块是以中文封装命令,每个子程序/参数都有详细的注释,多看看就懂用了
•目前只封装了pack模型,已经能够完美支持自己程序相互通讯了,以后封装其它模型
•压缩包内附带远程屏幕差异传输例子,包含 [客户端断线重连、数据打包传输] 比较容易理解的方案,有兴趣的朋友可以看看
Curl
•Curl是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。
它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。
Curl还包含了用于程序开发的libcurl(模块封装的就是这个)
Curl支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。
Curl还支持SSL认证、HTTP POST、HTTP PUT、FTP上传, HTTP form based upload、proxies、HTTP/2、cookies、用户名+密码认证(Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos)、file transfer resume、proxy tunneling。
•本模块封装了Curl大部分功能,Curl的一些功能调用比较复杂,你可能需要花时间研究才行
•模块额外对Curl的HTTP功能进行了封装整合,使得调用更加方便:L_curl_http2winhttp(类)
本类特点:深层次的封装、全局连接缓存更适合多线程使用、内部Cookie同步机制与 L_winhttp(类) 相同
直接把本类当做winhttp对象一样调用即可;经过测试,6000线程稳定运行
• L_curl_smtp(邮件发送类) 稍微有一点点复杂,以后会考虑再深度封装一下
大漠插件
•完美兼容黑月,模块内的大漠命令调用未添加任何无关代码、天生支持多线程、效率第一
•内置四个大漠插件类模块(全部都是免注册调用的)分别是:
L_大漠插件 (3.1233版本的普通封装)
L_大漠插件_附带DLL (内置3.1233版本的DLL文件)
L_大漠插件破解版 (5.1423版本破解,自带DLL文件,所有收费功能都可以直接使用)
L_大漠插件_付费版 (对7.1814版本功能的封装)
DD驱动键盘鼠标类
•最多用户选择,最简单易用,最稳定可靠 永久免费 系统底层集成,真正的驱动级硬件模拟 一键安装,即为电脑添加一对可完全编程控制的键盘鼠标,轻松自动化操作电脑 适用VB6,DELPHI,VC,BC,VB.NET,C#,JAVA,易语言等各种编程语言 支持 WINXP 及以上 32位和64位操作系统 个人桌面应用和游戏工作室装机必备
•本模块封装了普通免安装版,一键调用,内部自动转换键代码,非常方便~
键盘/鼠标连发
•使用本功能开发 DNF连发程序 仅需要5行代码即可实现基础连发功能(有例子)
• 真正意义上的连发,按住鼠标/键盘指定键即可实现重复单击这个键,默认自动屏蔽windows自带的重复按键
•内部有一个回调,可以自己写执行模拟键盘鼠标代码,可以是驱动也可以是别的,详情请看压缩包附带的例子
监视热键
• 花了很多心思弄这个,解决了很多情况下游戏屏蔽热键的问题,有些屏蔽强的游戏触发率也能保持在95%以上
•同时兼容两种键代码:区分左右键或不区分左右键的键代码,以及兼容小键盘上的键代码
•内置键盘钩子与线程消息队列,内部已处理好按下与放开的事件,使用方便并且键盘按住不会重复触发事件,从按下到放开都只会分别触发一次
•按下/放开事件是在线程中执行的,不会影响到键盘的正常输入;请不要在回调事件里面执行死循环代码
多线程操作
•方便传递数据、获取返回值、自动加载com、自动分配CPU线程、内部自动处理线程句柄等。详情请看压缩包附带的例子
文件拖放对象
•兼容win10,程序以管理员权限运行也可以正常拖放
线程安全变量
•编写多线程软件用户的福音,每个对象的内部变量都绑定了一个许可区,整数型是原子锁操作,避免大家每次操作同一个变量时都要进入许可区然后再退出,降低代码量,代码会清晰、美观一些(不适合在一个锁中同时读写多个变量的情况使用,会降低性能)
如果与判断
•模块代码中不需要调用判断的地方使用 如果(),需要多重判断的地方使用 判断() 效率提升!
v3.1.1.20210128
• 新增:L_异常捕获(类) >>>> 初始化() 增加了 [注册顶级SEH] 两个参数;用于兼容某些需要主动触发异常实现一些功能的库
•新增:L_异常捕获(类) >>>> 初始化() 增加了一个自定义异常信息回调子程序参数,子程序接收两个文本型参数(错误信息, 代码流程)
以后大家可以自己挂接异常信息回调然后将信息直接post到服务器存储,免得还要和以前一样让用户手动发送错误信息过来
我接下来应该会写一个配套的http服务端用来接收异常数据,应该会开源
•新增:异常捕获代码生成工具现在支持直接拖放.e文件进行解析生成代码了,使用更加方便 (保留了以前的复制粘贴生成方式)
• 新增:异常捕获代码生成工具现在使用了RSA加密代码的方式,记录代码流程的功能可以完全放心地使用在发布版的软件中
• 新增:L_线程许可区_* L_内存堆_* L_内存文件映射_* 以后尽量将能写成子程序直接调用的功能都弄一下
•新增:L_DLL_名称取路径(DLL名称) 通过自身程序的某个DLL文件名获得它的路径
•新增:L_快速文本型数组(类) L_快速整数型数组(类) 我之前开源过、适用于所有需要频繁加入成员并且无法确定最终数组成员数的情况能够极大地提升处理速度(内部也使用了 L_内存池(类))
• 新增:L_窗口_禁止截图(窗口句柄, 开关) 设置窗口防截图功能 win7及以上的系统有效
•新增:L_文件_合并(欲合并的文件路径, 保存的文件路径, 读写缓冲区大小) 将指定的文件数组按顺序合并为一个新的大文件
•新增:L_文件_创建(文件路径, 要创建的大小, 覆盖原文件) 瞬间创建一个指定大小的文件,大小不限
•新增:L_文件_枚举_回调() 枚举某个目录下的指定类型文件并调用回调函数,回调函数返回1则停止枚举;行为逻辑与 L_文件_枚举() 相同
•改写:L_进程_提升权限(权限, 开关, 仅提升当前线程) 增加了详细参数以及常量 #L_提升权限_
• 改写:L_文件_枚举() 新增参数:搜寻所有子目录 并提升了枚举速度(使用了 L_快速文本型数组(类))
• 改写:L_文件_取文件名() 代码逻辑修改,兼容性提升,并且新增了两个返回参数:返回_文件前缀名 返回_文件后缀名
•修复:L_内存池(类) 一个逻辑值写反导致异常崩溃的BUG
• 修复:L_大漠插件破解版(类) 无法编译的问题(之前调试的时候不小心遗留了一段代码在里面忘记删除)
• 修复:L_时钟(类) 之前回档更新的时候疏忽导致无法正常销毁的问题
•修复:L_POST数据封装(类) L_POST数据封装_字节集(类) 初始化逻辑错误导致数据无法写入的问题
•修复:L_事件(类) 创建对象设置名称标识失效的问题
•修复:使用Curl库的SSL功能时偶尔出现调用失败的情况
•优化:模块初始化时会自动执行:L_进程_提升权限_常用() 用于避免日常操作时权限不足的问题
警告:备份与恢复文件这两个权限比较危险,有需要的话自己调用 L_进程_提升权限()
• 删除了部分更新过程中遗留下来的无用DLL命名定义表、常量、自定义数据类型
•封装的HPSocket更新为5.7.3版本
•封装的Curl更新为7.70.0版本
•封装的zyjson更新为3.2版本
v3.1.0.20201217 回档更新
•升级:L_异常捕获(类) 内存释放机制优化,现在改成了Hook ExitThread(线程结束之前系统会自动调用它, 刚好契合我的异常捕获结构)
更改后的好处:代码中不再需要 L_异常捕获.进入异常处理块 ()、L_异常捕获.退出异常处理块 () 这里两个命令了
同时减少了不必要的判断;优化了内存处理方案,现在直接利用编译器的特性来存储数据
经过测试一千万次循环耗时由742毫秒减小至100毫秒,性能提升87%;记录代码流程运行耗时:500毫秒 相比之前性能提升了80%
现在支持记录代码执行流程了,在多线程中也能够清晰地了解程序代码执行过程,方便分析异常原因 [点击查看效果图]
• 新增:L_Hook(类) 原名改成 L_Hook键鼠(类) 、 可以轻松Hook函数地址/API,稳定高效~
• 新增:L_全局_内存池(类) 原生线程安全,已声明为全局变量"L_内存池" 我自己撸的纯易语言代码实现低碎片化高性能内存池
• 新增:L_单向链表(类)、L_单元内存池(类) → 替换了原先的单元内存池, 性能有所提升
•新增:L_文本_到大小写()、L_文本_寻找文本()、L_文本_到双精度()、L_文本_到长整数()、L_文本_到整数()
性能较高,并且替换了模块内所有与之相关的代码
• 新增:SE保护壳常量:#L_保护_SE_默认保护 #L_保护_SE_乱序变形 #L_保护_SE_虚拟 #L_保护_SE_虚拟_乱序变形 #L_保护_SE_结束
TMD壳的函数:L_保护_TMD_是否在虚拟机运行() L_保护_TMD_代码是否被打补丁() L_保护_TMD_是否受到破解程序攻击()
TMD壳的常量:#L_保护_TMD_代码混淆加密 #L_保护_TMD_字符串A保护 #L_保护_TMD_代码虚拟化_*_开始
•新增:L_硬盘_读硬盘扇区() L_硬盘_取硬盘机器码_md5() 不可伪造的机器码,重装系统机器码会变
•新增:L_易语言文本代码解析(类) 用于解析/生成易语言文本格式的代码
•新增:L_内存堆(类) >>>> 分配内存_对齐()、释放内存_对齐()
• 新增:L_字节集_到文本格式() L_字节集_文本格式还原() L_文本_删首尾指定文本()
• 新增:L_计算数组排列组合(类) 用于取出指定数组的所有排列组合 并且可以随时保存恢复进度
• 新增:L_易键鼠(类) >>>> 鼠标_左键按下()、鼠标_左键放开()、鼠标_左键单击()
• 修复:L_键盘_等待() 行为不符合预期的情况
•修复:L_文件读写_读入一行() 结果不符合预期的问题,现在可以精准判断换行符格式了
•修复:L_队列(类) 可能会引发异常的一个隐患,已重写代码
•优化:L_线程池(类) 调整内部线程控制方案,加强了突发情况下的大量队列进入的响应速度
•优化:L_线程池(类) 线程池现在可以主动 创建() 销毁() 了
•优化:L_线程池(类) 现在内部的[队列ID]将会在大于2147483640时初始化为1,避免溢出
•优化:L_读写锁(类) 现在可以在同一个线程下随意进入锁多次 只要退出一次即可,已增加对XP系统的支持
•优化:L_热键_注册() 现在回调子程序允许在代码中执行一些稍微"耗时"的操作了,比如延时个几秒那种
但还是禁止在回调事件里面执行死循环,因为会导致当前的热键事件被挂起
•优化:L_线程本地存储(类) L_线程许可区(类) 初始化顺序调整,以免出现一些奇怪的问题
•优化:L_函数_构造类方法地址() L_函数_构造cdecl地址() 现在直接使用内存堆而不是虚拟内存,以免申请太多数据导致失败
•优化:L_运行计时(类) 增加了精确度
•优化:L_快速文本(类) L_快速字节集(类) >>>> 写到文件() 性能提升
•优化:调整内部的全局内存DLL维护顺序
•优化:删除了 L_延时2() 并且在 L_延时() 子程序中增加第三个参数:是否UI线程
[参数说明] 默认自动判断;如果为真则使用 L_程序_处理事件() 做消息处理,避免卡窗口;如果为假则直接使用 Sleep()
v3.0.0.20190702 已回档更新
更新内容 - 红色字段代表比较重要的更新或提示
•3.0版本数据存放方式改为易语言宏命令(体积更小) 删除了子模块的方案,恢复成以前的一体式
使用3.0版本必须将 "Ling.dll" 文件放到易语言根目录下的 "plugins" 文件夹中,否则会报错~
之前的子模块方案有一点小瑕疵,这次基本完美了,不仅体积小,而且更方便维护模块
编译后的软件不依赖 "Ling.dll" 请放心
•新增 L_内存堆(类) 更完善的堆内存操作,有清晰的注释
• 新增 L_动态内存池(类) L_单元内存池(类) 以后模块的一些内存操作会尽量使用这两个类,提升性能
•新增 L_时钟队列(类) 由一个线程维护所有时钟事件(一条线程可以开几万个时钟)封装的是TimerQueueTimer定时器
•新增 L_线程本地存储(类) 这个你们懂得用就好,不懂就算了
• 新增 访问控制机制相关子程序:L_令牌访问_* | L_用户和组_* | L_访问权限_* | L_本地策略操作(类)
• 新增 L_校验_取crc32() L_校验_取crc32_整数() L_校验_取crc32_大文件() L_校验_Crc32_取码表指针() L_校验_Crc32_ASM()
• 新增 L_系统_通信测试() 功能的几个参数(发送数据长度、回复字节数、回复TTL、Ping状态等)
• 新增 L_系统_域名DNS解析() 可以自己指定使用任意DNS地址去解析一个域名的CNAME解析或A解析
•修复 L_Curl_http2winhttp(类) 中设置超时时间不符合预期结果的问题(忘记做超时时间记录了...)
• 修复 V8引擎 多线程情况下容易崩溃的问题,现在将最大并发数限制在了一个稳定的范围
•修复 L_线程池(类) 一处逻辑错误
•修复 L_时间_取北京时间戳() 获取异常的问题,现在改成了读取百度的时间
•修复 L_快速字节集(类) L_快速文本(类) >>>> 从文件读() 读取的数据丢失了一段的问题(逻辑错误产生的)
• 修复 大漠插件类 在win10 1903中无法创建对象的问题
•修改 L_热键_注册() 接受易友建议,现在热键回调子程序需要接收一个整数型变量:热键ID,方便你们同时监视多个热键判断
•修改 L_哈希表(类) 使用了全汇编的版本,效率提升并且支持自定义数据类型;保留了 创建自字节集() 与 保存到字节集()
• 修改 L_系统_通信测试() 的代码,按照msdn文档规范来执行:如果Iphlpapi.dll中没有函数再调用Icmp.dll的
•优化 L_异常捕获(类) 修复各种BUG,爆炸性能!因为是无锁的结构所以多线程效率不受影响(使用了线程本地存储技术)
• 优化 L_Curl_http2winhttp(类) 与 L_Winhttp(类) 的Cookie管理结构,内存占用降低
•优化 L_文本_取文本长度()、L_编码_base64编码()、L_编码_base64解码() 使用AVX2、SSE2、80386指令性能显著提升 作者: 落
• 优化 模块内所有的取随机数相关功能,现在会自动选择使用RdRand、RdSeed 指令(如果CPU支持的话) 作者: abc2330292
• 优化 模块内部分功能性能有所提升
•优化子程序命名:L_系统_取CPU名称 >>> L_CPU_取名称 | L_系统_取CPU型号 >>> L_CPU_取型号
L_系统_取CPU序列号 >>> L_CPU_取序列号 | L_系统_取CPU数量 >>> L_CPU_取线程数
原有命令为了向下兼容将保留
v2.0.1.20190504
更新内容 - 红色字段代表比较重要的更新或提示
•修改 L_Curl_http2winhttp(类)[子模块_Curl] 重构了大量代码,现在与我封装的winhttp特性完美兼容了!
如果 L_winhttp(类) 满足不了你的需求,请试试 L_Curl_http2winhttp(类),这个也是我自己必须使用的,稳定可靠
•升级 子模块_Curl 封装的Curl库为最新版:7.64.1
• 升级 主模块 内封装的hp-socket库文件版本为:5.4.4.1
• 修复 所有子模块调用中 可能出现的一些安全隐患(虽然暂未出现这种问题)
• 修复 L_时钟(类) 中的一些BUG,并且提升了性能
•修复 L_线程安全变量_*(类) 中读写数据不符合预期结果的问题,原因是逻辑写反了...
• 修复 url编码解码异常的问题,请使用 L_编码_url编码()、L_编码_url解码()
• 修复 L_网页_解析url 中 url的域名后面没有/ 会导致解析出现异常的问题,原因是我逻辑写反了一个,嘿嘿...
• 修复 L_winhttp(类) 中HTTP请求头与Cookie的大小写处理不规范的问题,现在按照标准规则处理:
HTTP请求头不区分大小写,Cookie区分大小写,并且针对一些细节做了性能优化
•修复 子模块_Curl 中的 L_Curl_http2winhttp(类) >>>> SetAcceptLanguage()设置失败的问题
以及修复了进行一次POST请求后,之后的任何GET请求都变成POST的BUG(内部一个变量未重置导致的)
• 修复 L_键盘_等待() 中的逻辑错误
•新增 L_Cookie解析(全局类) 模块所有Cookie解析的操作均由本类完成,方便更新以及维护(包括Curl)
• 新增 L_易键鼠(类) 封装了易键鼠USB硬件的操控方法,编写DNF脚本的用户似乎用的也是这个设备吧(更多功能看心情封装)
• 新增 L_文件读写_* 封装了一些文件读写操作的方法,支持大文件
•恢复 L_JScript_Mujs(类) 子模块 封装了mujs引擎,虽然该引擎对某些js语法不太兼容,但可以用来解析jother编码(直接eval即可)
• 优化 模块内所有调用 GetSystemInfo 函数的速度,现在全局仅初始化一次
•修改 L_异常捕获(类) 增加了一些功能 推荐与 《凌哥_易语言异常捕捉》这个工具配套使用
•删除 L_编码_url编码_utf8 、L_编码_url编码_gbk 由统一的 L_编码_url编码()、L_编码_url解码() 实现
•删除 L_线程_启动3、L_线程_启动4;线程启动的命令优化了一下,现在只有 L_线程_启动 与 L_线程_启动2,第一个参数改为了通用型
•删除 L_线程池(类) >>>> 加入队列2() 请直接替换成 加入队列(),参数1: 子程序地址 修改成了通用型
v2.0.0.20190212
更新内容 - 红色字段代表比较重要的更新或提示
• 2.0版本全新升级 模块将一些占用体积较大的库给分离了出来,好处是:
主模块体积超小,需要什么库就引用什么模块,同时加快了编译/调试的速度,也方便你们反编译查看~
注意:子模块的功能需要依靠主模块才可以使用,具体的请看例子。
•修改 L_字节集数组_保存() L_字节集数组_保存2() L_字节集数组_读取() L_字节集数组_读取2() 性能提升,使用crc32做校验
•修改 L_内存加载DLL(类) 内部现在会维护全局的DLL句柄,在程序关闭后,没有释放的句柄会随之释放掉
•修改 子模块_Curl 中的所有Curl函数操作判断,避免了程序关闭之前没有调用 L_Curl_卸载() / 代码操作不当导致的程序崩溃问题
•修改 L_进程_ID是否存在() 详细查询了msdn文档,对一些细节做了处理
•删除 L_异常保护_开始() L_异常保护_结束() 由全新的 L_异常捕捉(类) 替代
•删除 L_压缩算法_gzip(类) >>>> 初始化() 本方法已经没有意义,调用本类任意功能将自动初始化
•删除 L_压缩算法_lzma(类) >>>> 初始化() 本方法已经没有意义,调用本类任意功能将自动初始化
•删除 L_JScript_Mujs(类) 经过多次测试,该引擎不兼容一些特殊js语法(微软的垃圾引擎都支持...)
• 新增 L_异常捕捉(类) 封装自《无名侠》的易语言结构化异常处理类(完美支持多线程运行环境)
• 新增 L_HPSocket_TcpAgent(类) 适合创建超级多的客户端连接使用(由IOCP维护所有的TCP连接)
• 新增 L_JScript_v8(类) 封装的谷歌V8引擎(这个多牛逼就不介绍了)兼容多线程调用
v1.2.0.20190116
更新内容 - 红色字段代表比较重要的更新或提示
•修改 L_HPSocket_服务端_PACK(类) 更名为 L_HPSocket_TcpPackServer(类) 为以后的功能扩展做准备
•修改 L_HPSocket_客户端_PACK(类) 更名为 L_HPSocket_TcpPackClient(类) 为以后的功能扩展做准备
•删除 L_数组_打乱顺序_整数型() 由 L_数组_打乱顺序() 替代
•删除 L_数组_打乱顺序_文本型() 由 L_数组_打乱顺序() 替代
•删除 L_数组_打乱顺序_字节集() 由 L_数组_打乱顺序() 替代
•新增 L_文件枚举(类) >>>> 属性是否存在();方便判断文件/目录属性
•新增 L_HPSocket_服务端_PACK(类) >>>> 回应同步消息() 发送_同步消息() 向指定客户端发送同步消息,并返回客户端回应的消息内容
•新增 L_HPSocket_客户端_PACK(类) >>>> 回应同步消息() 发送_同步消息() 向服务端发送同步消息,并返回服务端回应的消息内容
•新增 L_JScript_Mujs(类) 封装了mujs引擎,可以用来解析jother编码(直接eval即可)
• 新增 L_数组_打乱顺序(通用型数组变量, 打乱次数) 直接交换指针、高效率、支持任意数据类型!
•新增 L_快速字节集(类) >>>> 添加_从指针() 取指针() 可以直接操作内部指针
•新增 L_字节集_寻找字节集() L_字节集_寻找字节集2() 翻译C++的BM算法 全汇编 高性能
•新增 L_hook(类) >>>> 安装原始输入监听() 卸载原始输入监听() 监视全局键盘鼠标事件,兼容虚拟机里发生的事件
•新增 L_事件(类) 封装了常用的Event事件对象操作(HP的同步消息也有用到)
• 新增 L_哈希表(类) >>>> 枚举(子程序指针, 整数型) 通过回调子程序枚举整个哈希表的键值
•优化:降低所有与内存DLL相关的功能内存占用率以及提升了性能
•优化:L_热键_注册() 监视方案由Hook更改为监听原始输入消息+线程消息队列实现高性能、低消耗的热键监控
•优化:L_热键_注册() 新增参数4:防屏蔽超时 如果启用,将检测按下→弹起的时间是否大于60毫秒,小于60毫秒的事件全部丢弃
•优化:修改HP的内存加载方案为全局加载一次,避免重复加载浪费资源
•优化:L_快速字节集(类) >>>> 置内存增量() 内存增量值改变为固定长度(与易语言的 快速字节集对象 相同)
• 优化:L_快速字节集(类) >>>> 添加() 插入() 效率提升
•优化:L_快速字节集(类) >>>> 寻找字节集() 使用Boyer-Moore算法
•优化:L_快速文本(类) >>>> 某些操作增加了50%以上的效率
•优化:L_快速文本(类) >>>> 增加了一些方法,与 L_快速字节集(类) 同步
•优化:L_文件_是否存在() L_目录_是否存在() L_目录_创建() 使用了更靠谱的方案
•修复 L_枚举对象(类) 触发数据执行保护的BUG
• 修复 L_hook(类) 键盘hook的按键状态在按住alt键时无法捕获的问题,受影响的功能有:L_热键_*
• 修复 L_winhttp(类) 访问部分https网站失败
•修复 L_winhttp(类) 没有重置winhttp对象导致的Cookie提交异常问题
•修复 L_哈希表(类) >>>> 保存到字节集() 创建自字节集() 可能会崩溃的BUG
• 修复 L_编码_Url解码_utf8() 解码错误的一个情况,原因是代码页搞错了
•修复 L_文件_枚举() 不管任何情况都是枚举所有文件的问题(之前修改的时候没注意)
v1.1.9.20181010
更新内容 - 红色字段代表比较重要的更新或提示
•模块内部部分细节代码优化了格式以及性能(忘记具体修改了哪些,就不详细列举了)
• DD键盘鼠标驱动插件更新至85590版本(在32位系统上依旧释放并使用81010版本)作者说以后的版本不再支持32位系统了!
•修复 L_winhttp(类) 内部自动重定向会多访问一次的问题,并且现在完全遵循POST提交时的重定向规范:
HTTP/1.1 303 See Other:对于POST请求,它表示请求已经被处理,客户端可以接着使用GET方法去请求Location里的URI。
HTTP/1.1 307 Temporary Redirect:对于POST请求,表示请求还没有被处理,客户端应该向Location里的URI重新发起POST请求。
•修复 L_winhttp(类) 在黑月编译下 send 一些数据时会导致程序崩溃的BUG,太坑了...
• 新增 L_winhttp(类) >>> GetTheLastAccessToUrl() 获取内部最后一次访问的url,没有发生重定向也可以取到
•优化 L_winhttp(类) 一些细节进行了优化:修改了自动提交补全请求头信息,优化代理IP设置方案
•新增 L_POST数据封装_字节集(类) 封装multipart/form-data编码进行POST上传文件的格式,大多数是ajax或form表单提交才用到这种
•修复 L_指针_写字节集() 传递空字节集数据导致崩溃的问题、提升效率,并删除了 L_指针_到字节集2() 请自行改为核心库的 指针到字节集()
• 更新模块内封装的Curl为 7.60.0 版本
•修复 L_curl_http2winhttp(类) 的BUG:调用Curl功能的方式没写对
•修复使用Curl后软件关闭出现崩溃的情况(其实影响不大,主要是我没注意易语言程序结束后变量的释放顺序导致的)
• 更新 L_hook(类) >>> 安装键盘钩子() 新增一个参数:是否真实按键 整数型, 1=真实按键 0=模拟按键
可以避免在某些游戏或者QQ登录时,回调接收到各种奇奇怪怪的信息导致判断出错的情况(可以直接记录键盘输入的QQ密码了)
受影响的功能有:L_热键_注册() 我写无限法则压枪功能的时候发现热键异常,就想出了这个方案...
• 重写 L_内存加载DLL(类) L_内存加载DLL_E(类)
• 新增 L_内存调用支持库(类) 可以直接加载支持库到内存调用(不需要静态库)
• 改写 L_进程_取程序路径() 现在内部封装了四种方案获取路径,争取做到最大的兼容性(已测试几乎所有x86.x64程序都可以取)
• 新增 L_快速字节集(类)/L_快速文本(类) >>> 从文件读() 写到文件() 寻找字节集(自写算法)
• 优化 L_快速字节集(类) >>> 插入() 删除字节() 方法由复制内存更换为移动内存,避免操作大内存时崩溃,并且效率更高
•新增 L_程序_结束() 快速关闭自身程序,msdn上面找到的函数
• 新增 L_线程_进入后台模式() L_线程_退出后台模式() L_线程_动态提升优先级() L_线程_设置优先级() L_线程_打开()
对于多线程http并发的程序,将http请求的线程设置进入后台模式,能够有效降低对前台程序的影响:
降低当前线程线程的资源调度优先级,以便它可以执行后台工作而不会显着影响前台中的活动
L_线程_进入后台模式() L_线程_退出后台模式() 不支持Windows Server 2003系统
•新增 L_字节集_寻找字节() L_字节集_倒找字节() 汇编写法
•新增 L_硬盘_取所有分区盘符() L_硬盘_取分区DOS名称()
• 更新 L_热键_注册() 现在不仅兼容易语言键代码常量,也兼容真实键代码(区分键盘左右键以及数字键盘)
并且优化了性能(改动为线程消息队列的处理方式,在键盘按键的时候给所有线程发送通知)
实现了响应时间在1ms以内的同时,对比之前的延时10毫秒循环判断,CPU资源占用更小了
•修改 L_进程_枚举() 的返回参数,返回自定义数据类型数组:L_进程名ID信息;以前那种用两个数组分别返回进程名和进程ID的方案不好
•删除 L_指针_交换变量指针() L_指针_交换变量数据() 合并为 L_指针_交换变量() 这是以前封装时留下的重复功能
•新增 L_指针_是否可读() L_指针_是否可写() L_指针_写通用型() L_指针_到通用型()
• 新增 L_运算_初始化浮点数() 在非易语言中创建的线程/hook接口中可能会导致易语言的数值运算出错,在子程序开头执行这个初始化即可
•新增 L_网页_解析请求参数() 做WEB服务器的时候可以用到,方便处理url参数
v1.1.8.20180818
更新内容 - 红色字段代表比较重要的更新或提示
•【释放文件路径规范】C:\Users\administrator\AppData\Roaming\凌哥E编程模块\
路径中的红色字体代表当前计算机登录的用户名;模块释放的各种插件DLL都会存放在这个目录里面
查看当前程序数据路径方式: L_文件_执行 (L_目录_取特定目录 (8) + “凌哥E编程模块\”)
• 新增Curl功能,封装了:http、ssl、smtp(邮件)功能,顺便封装了一个类:L_curl_http2winhttp 就是把Curl的http功能封装成类似winhttp对象那样调用,会方便一些(对多线程做了优化但经过测试 4000线程后似乎不太稳定,而且占用资源比较大、还是推荐使用 L_winhttp(类))
使用Curl要有32位的【Microsoft Visual C++ 2010】运行库
• 重构 L_winhttp(类) 使用方式不变,代码全改,特别是Cookie的地方实现了完美同步
•修复 L_哈希表(类) 占用内存过多(独立的堆过多会导致内存暴涨然后崩溃)的问题
•热键监视功能大更新,性能更高,资源占用更低;使用方式:L_热键_注册()
• 新增/优化部分进程操作命令:L_进程_打开Ex() L_进程_打开_NT() L_进程_取程序路径() L_进程_取程序路径2() L_进程_提升权限() L_进程_枚举Ex()
• 优化 L_文件_执行() 更换成 ShellExecuteExA 这个API;增加了【等待程序运行完毕】的功能,并且修复了设置默认当前目录的问题
•新增 L_键代码_键名取键代码() 一些情况下能用到
•新增 L_快速文本(类) 是基于 L_快速字节集(类) 封装的,以后会增加 分割字节集 取字节集左边 之类的功能
•新增 L_注册表操作(类) 收录自精易模块 并修复了常量BUG以及优化判断系统是否64位的地方,保留 方法_置为32位() 方法_置为64位()
• 新增 L_DD驱动键盘鼠标_HID(类) 大部分游戏都不会屏蔽这个版本,但是安装驱动的时候杀毒软件100%报毒,自己看着办吧...
• 修复 L_内存加载DLL(类) 加载某些DLL会导致触发数据执行保护的问题
•增强 L_内存加载DLL(类) 的功能以便适配Curl内存运行(也可以额外做很多兼容了)
• 新增 L_系统_取操作系统类别() L_系统_取操作系统类别2()
支持获取win98、win2000 、winXP、win2003 、win2008 、win7 、win8 、win2012、win8.1 、win10 系统版本。
•修复 L_时钟(类) 创建时会立刻执行一次时钟周期事件的问题
•修复 大漠插件类 全局只能创建一次的问题
•更新封装的 hp-socket 组件的DLL版本为最新的5.4.1-bate8
• 修改 L_异常保护_开始 () L_异常保护_结束 () 的方案,并且增加了两个读取错误信息的功能,请查看例子
•改写 L_网页_Cookie合并更新() 合并方案与 L_winhttp(类) L_curl_http2winhttp(类) 相同,我自己写的比较可靠~
但我依旧推荐你们使用 L_Cookie管理(类) 这个Cookie管理我花了很多时间改动,与浏览器的管理结果基本相同!
•新增参数 L_文件枚举(类) >>> 打开() 参数名:返回_路径属性 备注:返回值包含多个属性,看常量 #L_路径属性_
判断是否存在某属性:位与(返回_路径属性, #L_路径属性_只读文件) =1就是存在 =0就是不存在
v1.1.7.20180620
更新内容
•键盘hook回调事件参数更新:
4个参数:键代码(整数型 兼容易语言键代码常量),状态(整数型 1=按下 2=放开),虚拟键码(整数型 操作系统对应的按键的编码),扫描码(整数型 键盘硬件对应的按键的编码);返回值是整数型. 1:吃掉消息 0:放行消息
现在键代码参数完美兼容易语言的键代码常量了(为热键监视改版做准备)
• 删除 L_运算_加法() L_运算_减法() L_运算_乘法() L_运算_除法() L_运算_位与() L_运算_位或() 因为实际测试这些效率没有核心库直接运算快
•修复 L_线程反馈事件(类) 的一些问题,并且删除了部分方法的参数
•新增 L_系统_取外网IP() 使用多个接口(淘宝、新浪)获取本机的外网IP
• 新增 L_内存加载DLL_E(类) 兼容易语言编译的DLL
• 修正 L_HPSocket_服务端_PACK(类)、L_HPSocket_客户端_PACK(类) 中的几处注释错误(现在能够更好地理解了)
• 新增 L_异常保护_开始() L_异常保护_结束() 具体用法请看压缩包附带的例子
•改进 L_字节集数组_读取() 升级成更完美的数据长度校验,避免恶意攻击以及读取错误的字节集导致崩溃的问题
•新增 L_POST数据封装(类) >>> 取数据_cookie格式() 返回 cookie格式 的数据
•修改2个子程序命名:
L_类_取内部方法地址() >>> L_函数_构造类方法地址()
L_类_释放内部方法地址() >>> L_函数_释放类方法地址()
• 新增 L_函数_构造cdecl地址() L_函数_释放cdecl地址() 用于解决易语言没有 cdecl 回调的问题
•修复 L_内存加载DLL(类) 中因为系统开启了【数据执行保护】导致的闪退问题,受影响的功能有:
L_HPSocket_服务端_PACK、L_HPSocket_客户端_PACK
L_压缩算法_lzma、L_内存皮肤、L_压缩算法_gzip
• 修改 L_大漠插件(类)、L_大漠插件_附带DLL(类) 的免注册方案为调用云外归鸟的库
•新增 L_压缩算法_nt(类) 封装的是ntdll中的解压缩函数,支持两种压缩格式:lzma、Xpress
v1.1.6.20180601
更新内容
•在易语言IDE上方增加了模块版本、QQ群信息显示
• L_线程池(类) 细节微调
•修改了所有类模块的内部调用自身语法:方法() >>> 自身类名.方法(),标准一点总是比较好的~
• 新增 L_位图_图像到位图句柄() L_位图_转换色深() L_字体_创建字体() L_字体_计算文本尺寸()
• 新增 L_gdi(类) 可以完成一些简单的gdi绘画
•修复 HP-Socket 一些功能的调用方案中的几处BUG、更新DLL至5.3.1.1版本
• L_Cookie管理(类) 内部过期时间处理精确至毫秒级
•更新注释文本:L_线程池(类) >>> 加入队列() 因为获取任务字节集参数的方案早就改了但是注释还没改,所以这次更新补上
• L_线程反馈事件(类) 新增 分组框、超级列表框 操作,以及窗口移动功能
•新增 L_压缩算法_gzip(类) Gzip算法就不多解释了,一般是POST用
•新增 L_哈希表(类) >>> 枚举相同值() 可以取出值是相同的键名
•新增 L_文件枚举(类) 可以同时声明多个变量供多线程使用,不冲突(易语言的文件枚举不能多线程)
• 修改了模块内所有文件枚举子程序,改为 L_文件枚举(类) 的封装 (为了支持多线程)
v1.1.5.20180501
更新内容
•新增 L_HPSocket_服务端_PACK(类) L_HPSocket_客户端_PACK(类)
• 新增 L_原子锁_* 与 L_线程安全变量_整数型(类) 原理相同
• L_Cookie管理(类) 增加了“唯一标识”适用于多账号登录的时候区分cookie,或者别的情况需要区分cookie也可以用到
•修复 L_Cookie管理(类) >>> 写单条Cookie() 中的一个BUG,会导致写入无用的cookie数据(也没办法读取它)
• 新增 L_Cookie管理(类) >>> 读单条Cookie()
• 优化 L_Cookie管理(类) >>> 获取Cookie() 效率提升
•优化 L_Cookie管理(类) >>> Cookie的domain管理现在更加规范了
•修复 L_线程池(类) 强制销毁任务线程后导致出现异常的问题
•修改 L_剪辑版监控(类) 的功能实现方式
•修改 L_JsonValue(类) 新增方法:插入成员()
• 修改 L_文件_执行() 新增一个参数【启动路径】:用来告诉应用程序它的运行目录,某些程序运行时没有设置这个路径会出现奇怪的问题,比如 CSOL:启动后会在执行它的程序路径下更新游戏文件(很坑)
• 新增 L_快速字节集(类) 高速累加,循环一千万次仅耗时600毫秒,速度非常快;同时将模块内部需要用到累加的地方都改为本方案。
•新增 L_进程_指定CPU()、L_线程_指定CPU() 有很多地方能用到这功能
• L_线程_启动 / L_线程_启动 / 增加了一个参数:自行分配CPU{ 如果为真,模块内部将自行选择线程运行的CPU(按CPU线程顺序平均放置,性能会提升很多);如果为假,则让系统自动选择CPU。默认为假 } 模块内部的其它功能(如:线程池)线程创建方案,这个参数值是:假
•新增 L_线程许可区(类) >>> 置自旋次数() 内部默认为8000;旋转次数越高,效率也越高,CPU占用率随之提升。
•新增 L_POST数据封装(类) 适合POST请求时使用;可以打包三种格式:普通的post/get请求、请求协议头、json格式
v1.1.4.20180401
更新内容
•新增部分文本操作功能: L_文本_取特定文本()、L_文本_是否为数字()、L_文本_是否为小写字母()、L_文本_是否为大写字母()
L_文本_是否为字母()、L_文本_是否为中文()
• 增加压缩解压算法:L_压缩算法_lzma(类) 以后会封装别的算法库
•优化 L_窗口_枚举所有窗口句柄()、L_窗口_枚举所有窗口信息()
• 优化 L_DD驱动键盘鼠标(类)中的动态调用DLL方式,效率提升
•修复 L_线程_等待_不卡UI() 占CPU的问题,更换新的实现等待不卡UI方案
• L_超时等待(类) >>> 是否超时() 新增一个参数:判断时间 特殊情况可以用到
•修复 L_线程池(类) >>> 停止并清除所有任务() 中的一处BUG
•L_线程池(类) >>> 新增 等待运行完毕() 等待线程池所有任务执行完毕
• L_线程池(类) >>> 获取任务字节集参数方法改变:取任务参数(队列ID)
• 新增字体操作功能:L_字体_加载临时字体() L_字体_卸载临时字体() 将指定字体加载到自身程序中,字体仅允许当前进程使用
•新增 L_线程反馈事件(类) 适用于多线程操作窗口组件使用,与 标签.调用反馈事件 意义相同,不同的是我这个传递的是字节集参数
•新增 L_Cookie管理(类) 内部自动处理cookie信息 Max-Age、Secure、domain、path 与浏览器的行为差不多、比普通的管理更标准
•新增 L_JsonValue(类) 封装自kyozy的 纯算法解析json模块,内部命令命名、数据类型已全部改名,避免产生冲突
•更换 L_编码_base64编码() L_编码_base64解码() 为汇编处理方式:http://bbs.eyuyan.com/read.php?tid=357939
• 优化 L_线程_初始化com() 多了一个参数,可以为空、使用方法不变;有兴趣了解线程并发模型的可以去看命令注释
•更新 L_大漠插件_付费版(类) 支持大漠插件7.1814版本
v1.1.3.20180211
更新内容
•修复一处隐藏的BUG,调试中很难发现...
• 大漠插件类内部增加自动卸载安装在系统中的大漠插件dll,修复大漠插件破解(类)可能导致崩溃的BUG
• 修复 L_线程池(类) 创建线程逻辑出错导致的BUG
• 修复 L_线程池(类) 内部检测线程空闲回收时间异常的问题
•更新 L_线程池(类) 现在初始化后就会立刻将内部线程保持在最小线程数
•新增 L_剪辑版监控(类) 可以实时监控剪辑版的变化
•新增 L_暂离检测(类) 监视用户在指定时间内没有操作键盘鼠标时、触发指定事件
•新增 L_时钟(类) 封装的线程时钟,与部分api时钟类似但操控很稳定,并且销毁时会确保代码执行完毕从而避免产生不必要的崩溃
• L_程序_禁止重复运行() 新增一个参数:唯一标示,以便特殊情况使用
• L_大漠插件_付费版(类) 更新兼容最新的7.1807版本
• L_DD驱动键盘鼠标(类) 更新插件至81010版本
v1.1.2.20180125
更新内容
• L_线程池(类) 大更新,功能更强大,使用方式不变,只有 初始化() 的参数变动与 取当前任务参数()改动获取参数方式,请自行修改
•新增 L_完成端口_**() 操作I/O完成端口,可以作为队列使用或者别的用途
•更新DD驱动键盘鼠标插件至81000版本
•更新 L_大漠插件_付费版(类) 兼容最新的7.1802版本
•修复所有大漠插件类均少一个命令的问题,一键生成的时候没处理好
•新增 L_变体型_置*** 返回包含指定数据类型的变体型,方便在某些情况下使用,比如运行js函数传参
•新增 L_文件_强制删除() 可以删除掉所有类型的文件包括运行的程序
•新增 L_读写锁(类) 相对于普通的锁而言,能提高并发性
• L_超时等待(类) → 初始化() 新增自动销毁内部对象方案,避免创建后没调用销毁从而重复创建导致的句柄泄露
•优化 L_窗口_枚举所有窗口信息() 现在多线程枚举速度很快了
•新增 L_窗口_枚举所有窗口句柄() 与 L_窗口_枚举所有窗口信息() 原理相同,区别是只获得句柄,效率高
v1.1.1.20180105
更新内容
•修复 L_哈希表 中的一些BUG 【模块中所有调用哈希表的命令均受影响,如线程池、文本去重复等】
•新增 L_键盘_组合按键 - 传递数组,比如:L_键盘_组合按键({#Ctrl键, #A键})
• 修复模块内部保存默认堆句柄的方式出错导致的哈希表崩溃问题(易语言的变量初始化顺序问题)
• 修复线程池中一处会导致整个线程池卡住的问题
•修改线程池中 停止并清除所有任务() 与 加入队列()命令中的等待队列方案有冲突的问题,现在只要执行了 停止并清除所有任务,那么加入队列()会立刻返回,不做多余操作,直到线程池重新初始化完毕。
• L_线程_启动、L_线程_启动2、L_线程_启动3;优化内部传递指针方式,速度提升100% 并且新增了部分功能
•字节集数组互转新增:L_字节集数组_取成员数() L_字节集数组_取成员数2()
• 修正 判断() 与 如果() 的用法,增加效率!
•新增 L_字节集_取长度、L_字节集_到十六进制、L_字节集_十六进制还原、L_数组_取成员数
•优化 L_文本_逐字分割() 测试处理百万字节仅需600毫秒,而精易模块的需要48100毫秒,差了80倍
•新增 L_文本_加密、L_文本_加密2、L_文本_加密X
• 修复 L_延时 与 L_超时等待(类) 特殊情况可能出现卡死的BUG(超级模块、精易模块均有此问题)
• 修复 L_超时等待(类) 中 是否超时() 返回的逻辑值颠倒的问题,咳咳,小BUG而已不要在意这些细节
•新增 L_系统_取启动时间() 需要CPU支持高精度计时器(一般都有),不支持win98系统。可解决开机超过28天后返回负数的问题、本函数返回的毫秒精度最高。
•加密保存模块内部调用的大漠插件DLL/免注册DLL、DD驱动键鼠插件等资源,避免误报
• L_键盘鼠标钩子 拆分为两个独立的类模块:L_键盘钩子、L_鼠标钩子 (后期命名或许还会修改,因为要增加别的钩子)
• 新增 L_程序_调用子程序3() - 本函数执行速度较快,推荐优先使用
•优化 选择() 与 多项选择() 中影响效率的地方、精易模块与超级模块都有这个问题
•新增热键监视功能: L_热键_注册() L_热键_注销() 内部已经处理好了一切,兼容多线程调用
•更新 L_大漠插件_付费版(类) 兼容最新的7.1753版本大漠插件
•修复严重BUG代码:L_类_取内部方法地址() 之前版本的所有调用此功能的类模块均会出现问题
v1.1.0.20171129_正式版
更新内容
•增加hosts操作命令:L_系统_hosts修改重定向()
• 新增内存加载DLL功能:L_类_内存加载DLL
• 优化线程池内部处理线程逻辑,为以后的功能扩展做准备
•修复拖放对象内部窗口消息返回值没处理好导致部分外部程序或使用EXUI窗口崩溃的情况
•修复 键盘鼠标连发类 鼠标连发右键无效,并且与左键冲突的BUG
• 优化键盘鼠标连发类的效率,内部有些不需要加锁的地方已经去掉了
•修复 键盘鼠标连发类、L_线程_启动、L_线程_启动2 可能存在的死循环隐患(使用 L_超时等待 判断是否超时)
• 键盘鼠标连发类 新增两个事件回调:置连发开始回调() 置连发停止回调()
• 修复 L_超时等待、L_延时、L_延迟中 MsgWaitForMultipleObjects 函数参数没写好导致的一系列卡顿问题
•模块介绍与更新记录从txt文档更换为html格式,嘿嘿...
v1.0.4.20171020_RC
更新内容
•修复部分小BUG,命令参数没写好
•新增 L_线程池 (真正意义上的完整线程池结构,并且扩展了很多功能,例子请稍等)
• 新增 L_大漠插件_付费版,兼容7.1746版本
•修复 L_键盘_等待 卡死的BUG
• 修复 L_键盘_等待 卡死的BUG
• 新增 L_超时等待 内部有一个超时对象,用来判断是否超时
•修改命令 L_延时(精度较高的等待) 增加 L_延迟 (普通延时,不卡窗口) 删除 L_延时_高精度
•修改一些命令中的内部超时判断 取启动时间() 改为 L_超时等待
备注
•准备开发的功能:cookie管理类(与浏览器处理结果相同)、TCP通讯(自动分包)、L_多线程管理(类模块,从线程池中阉割出来用于多线程的控制)
• 凌哥E编程模块已经相当成熟了,基本上不存在导致错误的Bug,正式版即将到来,敬请期待!
v1.0.3.20171110_Beta
更新内容
•删除 L_键盘_按键 中原先的代码 因为它是使用keybd_event函数模拟的键盘
微软官方:"此功能已被取代,请使用 SendInput 代替。" 所以重写模拟键盘的命令
•修复 L_键盘鼠标钩子 类中的一些BUG,加上了鼠标钩子
基本是把钩子事件全部封装下来了(不懂用请看 例程_键盘鼠标钩子.e)
增加一项命令:L_帮助_复制鼠标钩子回调子程序() 方便使用鼠标钩子
•修改键盘钩子回调的状态返回值,固定为 1=按下 2=放开 (之前忘记修改了...)
• 增加位运算功能:L_运算_*
• 新增 L_哈希表 修改自kyozy大神的【通用型哈希HashTableT v1.2】提速并修复了一处BUG
•L_编码_* 命令中的大写英文字母改为小写,写代码的时候方便一些
•删除:L_数组_去重复 新增:L_数组_去重复_文本型 L_数组_去重复_整数型 L_数组_去重复_字节集 (内置哈希表高速处理,比精易模块的快很多)
• 修改代码:L_文本_去重复文本 (内置哈希表高速处理,亲测速度比精易模块的快了5倍)
• 新增:L_文本_取中间_批量_正则方式()
• 更换 L_程序_调用子程序() 代码,之前的会出现内存泄露的情况
•新增类模块:L_鼠标连发
•新增大量键盘鼠标操作命令,请自行查看
v1.0.2.20171030_Beta
更新内容
•删除命令:L_指针_取变量地址 L_指针_取变量数据地址 (通用型不够严谨,并且有BUG)
• 线程许可区中的调用方式修改为指针传递,这样效率更高,避免每次调用api的时候易语言内部重复取指针
• L_线程安全变量_整数型 增加了一个方法:判断赋值(数值,预期值) 使用方式请看原注释
•创建线程的命令目前有3个:L_线程_启动 L_线程_启动2 L_线程_启动3;不同的地方请看原注释
•修改命令:L_DLL_调用函数 L_程序_调用子程序 参数不变,现在完美支持_CDECL和_stdcall
• 删除命令:L_延时_api() 改为api声明:sleep() 方便调用
•新增 L_键盘鼠标钩子(类)、L_按键连发(类)、L_拖放对象(类)
之前我开源了那个解决管理员权限不能拖放的问题,然后参考了呵呵仙的拖放对象注册方法完成本类
呵呵仙的那个有个小BUG,嘿嘿,我是不会告诉他滴
•修复3个大漠插件类中多线程创建对象时可能出现的一处安全隐患
•新增:L_网页_取页面地址、L_网页_取域名、L_网页_取端口(均为 L_网页_解析url 的二次封装)
• 添加了其它新的函数、类模块,请自行查看
v1.0.1.20171018_Alpha
更新内容
•添加了一部分新的函数、类模块,请自行查看
•修正 L_线程_启动 错误的注释文本
•修改代码:L_系统_是否64位操作系统
•修复 L_线程_启动 可能出现的一个死循环BUG
• 修复 L_窗口_枚举所有窗口信息 多线程出错的问题(已加锁)
•删除 winhttp api 更换为 winhttp对象 (经过严格测试 api版本有BUG)
• 指针操作新增:L_指针_取变量地址 L_指针_取变量数据地址
• L_目录_取特定目录 新增一个参数,用来取出标准长路径名,而不是短路径(过时的东西)
• 在DD驱动键盘鼠标的基础上封装了一些功能方便使用
模块截图:
模块用法:在易语言中引用此模块。使用模块功能前必须将 "Ling.dll" 文件放到易语言根目录下的 "plugins" 文件夹中,否则会报错!
"Ling.dll" 禁止在虚拟机内调试/编译;编译后的软件不依赖 "Ling.dll" 请放心
模块下载(下面三个下载地址,请选择一个网盘下载):
蓝奏下载:https://eyy8.lanzoup.com/iXZ3hma51le
百度网盘:链接:https://pan.baidu.com/s/1XtY44ltDeyCUbxkp5L9WDA 提取码:r9rk
360网盘下载:https://yunpan.360.cn/surl_yRwaiCAbXC2 (提取码:ae0a)
迅雷网盘下载:链接:https://pan.xunlei.com/s/VMUbOe63CB03nrz-bjBI_XcTA1
提取码:qjvh
楼主发贴辛苦了,谢谢楼主分享!我觉得易语言吧是注册对了! 楼主发贴辛苦了,谢谢楼主分享!我觉得易语言吧是注册对了! 楼主发贴辛苦了,谢谢楼主分享!我觉得易语言吧是注册对了! 楼主发贴辛苦了,谢谢楼主分享!
楼主太厉害了!楼主,我爱你!我觉得易语言吧真是个好地方!有源码吗,这个 @十万个为什么有源码吗 凌哥E编程模块3.1.1更新时间2021年01月28
我记得是开源的,您这边有源码吗 你联系方式多少,大哥,私聊一下
我看不错噢 谢谢楼主!易语言吧越来越好!
页:
[1]
2