精易论坛

标题: 【更新】API汇编调用带进度读写文件模块3.0百兆文件毫秒... [打印本页]

作者: 琪诺兔    时间: 2021-11-7 22:28
标题: 【更新】API汇编调用带进度读写文件模块3.0百兆文件毫秒...
本帖最后由 琪诺兔 于 2021-11-7 22:59 编辑
【API汇编调用进度读写文件模块3.0】
API汇编调用+核心库打造,百兆文件毫秒完成带进度读写文件,支持多线程,支持大文件,程序不会假死,稳定安全高效
========↓注意↓========
'                 0 内存调用方法来源于[凌晨孤星]开源的凌晨皮肤模块里的汇编命令,已标注
'                 1 需要[QnFile32.dll]源码请联系本人[琪诺兔]
'                 2 关于[QnFile32.dll],QnFile32.dll已经实现内部全指针操作,
'                 基本全汇编调用API函数VC2019连接器+黑月编译
'                 3 注意[文件版]&[内存版]的命令必须配套使用
'                 4 UPX版不能被内存使用,一般来说把这个源码封装就能够使用不须要调整
'                 5 因为32位的限制原因所以,目前只能支持1G左右的文件读写,使用长整指针的办法还在想ing
'                 6 关于速度方面,不使用反馈事件速度可以大幅度提升,百兆文件几乎毫秒就能够完成
'                 7 如果使用反馈事件,影响速度的原因第一是对进度的计算,第二是用户的UI性能,第三是Call反馈事件的指针
'                 8 模块内的命令封装方式有一些使用难度,建议仔细看明白在使用,或者自己对可用性进行提升
'                 9 是否支持其他语言调用,不支持,因为使用了E的字节集地址特性来取得长度,
'                 其他语言调用必须符合E的字节集地址标准
'                10 是否会在更新,理论上会,实际上要看本人的使用程度和其他用户的正反馈程度
========↓关于模块↓========
【本模块源码提供了调用文件DLL与内存调用DLL版只要自己生成模块或者复制到自己的源码里就可以了】
【两个版本使用方法完全一致,效率起飞doge】
【以下是QnFile32.DLL的函数定义与说明
[使用W版与A的说明完全一致就不复制了,不过文件路径W版需要提供的是U编码路径的字节集指针]
[说明中的[\]是用来代表命令有W版]
QnFile32.DLLMD5:f720fe79092a1630262dfcb2b9b8a9d1经过UPX不能内存6656字节
QnFile32.DLLMD5:a9ea67790075e20389e2b0ce0517e06d 没经过UPX可以内存12800字节
以下是在库中的名字以下是中文说明 以下是返回值类型以下是返回值说明
QnFileInit()初始化()[整数型]
[integer]
[1]成功初始化
[-1]user32初始化失败
[-2]kernel32初始化失败
[-3]1user32释放失败
[-4]shlwapi初始化失败
[-5]kernel释放失败
[-6]user32释放失败
[-7]kernel与user32释放失败
[-8]未知错误
QnFileRelease()释放()[整数型]
[integer]
[1]成功初始化
[-1]user32释放失败
[-2]shlwapi释放失败
[-4]shlwapi与user32释放失败
[-5]kernel释放失败
[-6]kernel与user32释放失败
[-7]kernel与shlwapi释放失败
[-8全部失败]
[-9]未知错误
QnGetFileSizeA\W(
[integer]Filepathtextpointer
)
取文件尺寸A\W(
[整数型]文件路径的文本指针
)
[整数型]
[integer]
[非零非负数]代表成功返回了文件长度
[-1]代表文件打开失败
QnReadFileA\W(
[integer]Filepathtextpointer
[integer]Receivepointer
[integer]buffersize
[integer]Callbackpointer
)
读入文件A\W(
[整数型]文件路径的文本指针
[整数型]接收数据的字节集指针
[整数型]缓冲区尺寸[0]等于默认400K
[整数型]回调子程序指针[0]等于不使用回调,
回调一个[短整数型]参数,代表进度百分比
)
[整数型]
[integer]
[1]代表成功
[-1]代表文件打开失败
[-2]代表文件尺寸超标
[-3]指针单位超标
QnWriteFileA\W(
[integer]Filepathtextpointer
[integer]Datapointer
[integer]buffersize
[integer]Callbackpointer
[integer]Overwritefile
)
写到文件A\W(
[整数型]文件路径的文本指针
[整数型]接收数据的字节集指针
[整数型]缓冲区尺寸[0]等于默认400K
[整数型]回调子程序指针[0]等于不使用回调,
回调一个[短整数型]参数,代表进度百分比
[整数型]是否对已存在文件进行覆盖
参数为[1或0]如果文件存在立刻返回[-1]
参数为[2]覆盖已存在文件
)
[整数型]
[integer]
[1]代表成功
[-1]代表文件打开失败
[-2]代表文件尺寸超标
[-3]指针单位超标
[-4]文件创建失败
[-5]写出失败
QnFile模块源码.zip (27.72 KB, 下载次数: 246)
最后期望本模块能给你的程序添加一些色彩

作者: zytlj    时间: 2021-11-8 01:46
谢谢分享。
作者: inat    时间: 2021-11-8 08:06
谢谢分享,另外麻烦问下VC2019连接器怎么黑月编译啊..
作者: 忧郁之子    时间: 2021-11-8 08:47
这个不错,支持一下,谢谢分享
作者: 910265444    时间: 2021-11-8 10:18
谢谢分享
作者: 网络注册会员    时间: 2021-11-8 14:23
        支持开源~!感谢分享
作者: zifeiyu    时间: 2021-11-8 18:02
haodongxi啊啊啊
作者: fyh505099    时间: 2021-11-8 20:39
感谢分享 支持开源
作者: 8554036    时间: 2021-11-9 16:42
谢谢分享。
作者: 8554036    时间: 2021-11-9 16:43
没有精币呀,怎么搞点来呀!
作者: ckun    时间: 2021-11-15 21:14
压缩包打不开
作者: 琪诺兔    时间: 2021-11-15 22:52
ckun 发表于 2021-11-15 21:14
压缩包打不开

刚刚自己下载试了,没有问题,怀疑你的解压软件有问题,不过ZIP格式应该是win原生支持才对
作者: ckun    时间: 2021-11-16 18:54
琪诺兔 发表于 2021-11-15 22:52
刚刚自己下载试了,没有问题,怀疑你的解压软件有问题,不过ZIP格式应该是win原生支持才对 ...

那用什么解压软件
作者: fjgh    时间: 2021-11-23 10:13
支持开源~!感谢分享
作者: lwhct    时间: 2021-11-25 00:57
用retf指令转换到64位模式就能读长指针了
作者: 琪诺兔    时间: 2021-11-26 03:03
lwhct 发表于 2021-11-25 00:57
用retf指令转换到64位模式就能读长指针了

???请问有例子吗!!!
作者: lwhct    时间: 2021-11-26 03:17
琪诺兔 发表于 2021-11-26 03:03
???请问有例子吗!!!

搜一下wow64ext
作者: lwhct    时间: 2021-11-26 03:38
琪诺兔 发表于 2021-11-26 03:03
???请问有例子吗!!!

.子程序 RtlCopyMemory64
.参数 Destination, 长整数型
.参数 Source, 长整数型
.参数 Length, 长整数型

置入代码 ({ 106, 51, 232, 0, 0, 0, 0, 131, 4, 36, 5, 203, 81, 86, 87, 103, 72, 139, 125, 8, 103, 72, 139, 117, 16, 103, 72, 139, 77, 24, 252, 243, 164, 95, 94, 89, 232, 0, 0, 0, 0, 199, 68, 36, 4, 35, 0, 0, 0, 131, 4, 36, 13, 203 })
作者: fjgh    时间: 2021-11-28 09:00
感谢分享
作者: mishuang    时间: 2021-12-9 14:56
感谢分享,学习
作者: 你不丑    时间: 2022-1-2 17:35
666666666666666
作者: wuqingg    时间: 2022-1-4 15:36
好像很厉害的样子
作者: wuqingg    时间: 2022-1-4 15:38
lwhct 发表于 2021-11-26 03:38
.子程序 RtlCopyMemory64
.参数 Destination, 长整数型
.参数 Source, 长整数型

期待下一次更新
作者: wrnmb001    时间: 2022-1-5 19:53
谢谢老板!
作者: ctry78985    时间: 2022-1-6 14:33
感谢楼主分享
作者: tbxc    时间: 2022-1-14 04:05
感谢分享
作者: aini1wna2    时间: 2022-1-17 11:49
#在这里快速回复# 感谢楼主分享
作者: wangjy    时间: 2022-1-18 02:13

作者: 杨明煜    时间: 2022-2-23 20:45
感谢分享...............
作者: 百度大王    时间: 2022-2-25 15:01

作者: heiioxiaojian    时间: 2022-3-10 23:15
支持开源~!感谢分享
作者: 落寞23333    时间: 2022-3-12 01:19
支持支持~
作者: dulang    时间: 2022-4-9 03:16
先收藏, 看下实不实用, 谢谢楼主
作者: 1013356744    时间: 2022-4-12 21:32
感谢分享
作者: 53507203    时间: 2022-4-14 16:58
支持一下
作者: Mth520    时间: 2022-4-28 23:15
感谢大佬分享
作者: jxjc1976    时间: 2022-5-18 15:08
这是我见过最牛的代码了,谢谢!
作者: 小小柒    时间: 2022-7-8 18:24
好东西  好好学
作者: xfs123    时间: 2022-7-10 21:24
】API汇编调用带进度读写文件模块3.0百兆文件毫秒... [复
作者: 誓研蓝柚    时间: 2022-7-27 01:54
文件和内存 都报错啊

125-报错jpg (29.79 KB, 下载次数: 0)

125-报错jpg

作者: 琪诺兔    时间: 2022-7-29 16:01
誓研蓝柚 发表于 2022-7-27 01:54
文件和内存 都报错啊

你好鸭~
错误信息如下哦~
找不到内核库或内核库无效或内核
此版本的库不支持DLL!
这代表着你的易语言版本过低或你的编译方案不带有核心库,并不是本模块的问题
作者: 誓研蓝柚    时间: 2022-7-29 17:48
琪诺兔 发表于 2022-7-29 16:01
你好鸭~
错误信息如下哦~
找不到内核库或内核库无效或内核

易语言 版本是 5.93的 静态编译的 需要那种核心库呢
作者: xzc1215    时间: 2022-11-12 12:53
感谢分享
作者: yxm0828    时间: 2022-11-12 17:58

作者: asd1907    时间: 2022-11-23 15:56
666666666888888888888
作者: 忧伤小猫咪    时间: 2022-11-24 16:05
感谢分享...............
作者: quary888    时间: 2022-11-25 11:37
好东西
谢谢楼主分享!!!
好人一生平安!!!

作者: 309100    时间: 2022-12-6 19:01
先回复,在看看效率
作者: tmdgdx    时间: 2022-12-10 11:31
感谢楼主分享
作者: malu    时间: 2023-1-7 00:19
好东西 谢谢楼主分享!!! 好人一生平安!!!
作者: 醉清风o    时间: 2023-3-2 20:28
学习学习
作者: wuxinglong71    时间: 2023-6-20 21:58
学习学习
作者: zzzz11zz    时间: 2023-8-30 16:09
谢谢分享!!!!!!!!!!!!
作者: liaoxiaohu    时间: 2023-10-12 15:55
6666666666666666666666
作者: lanseqinfang1    时间: 2023-12-3 02:57
有用,感谢分享




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4