开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3894|回复: 15
收起左侧

[易源码分享] 易语言遍历回收站模块引用

[复制链接]
结帖率:100% (2/2)
发表于 2021-6-15 21:54:31 | 显示全部楼层 |阅读模式   江苏省徐州市
本帖最后由 雾削木 于 2021-6-16 21:04 编辑

此版本由大司命开源源码封装而来,因为原源码涉及模块引用问题,所以在此版本本人优化了结构,在源码中整合了模块的功能源码,封装为模块提供大家使用。

  
窗口程序集名保 留  保 留备 注
程序集1   
子程序名返回值类型公开备 注
_启动子程序整数型 请在本子程序中放置易模块初始化代码
' 遍历回收站文件 ()
_临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
返回 (0)  ' 可以根据您的需要返回任意数值
子程序名返回值类型公开备 注
_临时子程序  

子程序名返回值类型公开备 注
遍历回收站文件整数型 遍历回收站中文件,返回数量
参数名类 型参考可空数组备 注
文件路径文本型返回文件原本路径
回收路径文本型返回文件回收站路径
变量名类 型静态数组备 注
pisfRecBin整数型 
pMalloc整数型 
pidlBin整数型 
IID_IShellFolder字节集 
pisf整数型 
peidl整数型 
idlCurrent整数型 
uFetched整数型 
pszPath文本型 
strret整数型 
pOleStr整数型 
dwSize整数型 
szBuf字节集 
清除数组 (文件路径)
清除数组 (回收路径)
pszPath = 取空白文本 ( #MAX_PATH )
SHGetDesktopFolder (pisfRecBin)
SHGetMalloc (pMalloc)
SHGetFolderLocation ( #NULL, #CSIDL_BITBUCKET, #NULL, 0, pidlBin)
IID_IShellFolder = { 230, 20, 2, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70 }
COM_调用COM方法 (pisfRecBin, 5, pidlBin, #NULL, 取指针_字节集型 (IID_IShellFolder), 取指针整数_ (pisf), , , , , , )
COM_调用COM方法 (pisf, 4, #NULL, 位或 ( #SHCONTF_FOLDERS, #SHCONTF_NONFOLDERS, #SHCONTF_INCLUDEHIDDEN ), 取指针整数_ (peidl), , , , , , , )
判断循环首 ()
如果真 (COM_调用COM方法 (peidl, 3, 1, 取指针整数_ (idlCurrent), 取指针整数_ (uFetched), , , , , , , )#S_FALSE )
跳出循环 ()
SHGetPathFromIDListA (idlCurrent, pszPath)
strret = LocalAlloc ( #LMEM_ZEROINIT, 264)
COM_调用COM方法 (pisf, 11, idlCurrent, #SHGDN_NORMAL, strret, , , , , , , )
pOleStr = 指针_到整数 (strret + 4)
dwSize = lstrlenW (pOleStr)
szBuf = 指针到字节集 (pOleStr, dwSize × 2 + 2)
LocalFree (strret)
加入成员 (回收路径, pszPath)
加入成员 (文件路径, 编码_Unicode到Ansi (szBuf))
' 调试输出 (pszPath, 编码_Unicode到Ansi (szBuf))
判断循环尾 ()
COM_Release (pMalloc)
COM_Release (peidl)
COM_Release (pisf)
返回 (取数组成员数 (文件路径))
子程序名返回值类型公开备 注
COM_Release整数型 
参数名类 型参考可空数组备 注
this_整数型
变量名类 型静态数组备 注
index整数型 
index = 2
置入代码 ( #COM调用 )
返回 (0)
子程序名返回值类型公开备 注
编码_Unicode到Ansi文本型 将Unicode码转换为Ansi码;成功返回转换后的文本;
参数名类 型参考可空数组备 注
Unicode字节集欲转换的Unicode字节集
返回 (Unicode到Ansi (Unicode, #CP_gb2312 ))
子程序名返回值类型公开备 注
COM_调用COM方法整数型 
参数名类 型参考可空数组备 注
pThis整数型
Index整数型索引从1开始
arg1整数型
arg2整数型
arg3整数型
arg4整数型
arg5整数型
arg6整数型
arg7整数型
arg8整数型
arg9整数型
arg10整数型
变量名类 型静态数组备 注
参数数组整数型0
加入成员 (参数数组, pThis)
计次循环首 (1, )
如果 (是否为空 (arg1))
跳出循环 ()
加入成员 (参数数组, arg1)
如果 (是否为空 (arg2))
跳出循环 ()
加入成员 (参数数组, arg2)
如果 (是否为空 (arg3))
跳出循环 ()
加入成员 (参数数组, arg3)
如果 (是否为空 (arg4))
跳出循环 ()
加入成员 (参数数组, arg4)
如果 (是否为空 (arg5))
跳出循环 ()
加入成员 (参数数组, arg5)
如果 (是否为空 (arg6))
跳出循环 ()
加入成员 (参数数组, arg6)
如果 (是否为空 (arg7))
跳出循环 ()
加入成员 (参数数组, arg7)
如果 (是否为空 (arg8))
跳出循环 ()
加入成员 (参数数组, arg8)
如果 (是否为空 (arg9))
跳出循环 ()
加入成员 (参数数组, arg9)
如果 (是否为空 (arg10))
跳出循环 ()
加入成员 (参数数组, arg10)

计次循环尾 ()
返回 (CallWindowProcA (取指针_字节集型 ( #动态调用代码 ), _GetMethodAddr (pThis, Index), 取数据_通用型_数组 (参数数组), 取数组成员数 (参数数组), 0))
子程序名返回值类型公开备 注
Unicode到Ansi文本型 
参数名类 型参考可空数组备 注
Unicode字节集
目标编码整数型#CP_ACP
变量名类 型静态数组备 注
szChar字节集 
如果真 (是否为空 (目标编码))
目标编码 = #CP_ACP
szChar = W2A_CP (Unicode, 目标编码)
返回 (取字节集数据 (szChar, #文本型, ))
子程序名返回值类型公开备 注
指针_到整数整数型 
参数名类 型参考可空数组备 注
整数指针整数型
置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })
返回 (0)
子程序名返回值类型公开备 注
W2A_CP字节集 
参数名类 型参考可空数组备 注
lpw字节集
acp整数型#CP_x
变量名类 型静态数组备 注
CharStr字节集 
lpwsz整数型 
len整数型 
ByteStr字节集 
lpsz整数型 
CharStr = lpw + { 0, 0 }
lpwsz = 取指针字节集_ (CharStr)
如果真 (lpwsz ≠ 0 lstrlenW (lpwsz) > 0)
len = WideCharToMultiByte (acp, 0, lpwsz, -1, 0, 0, 0, 0)
ByteStr = 取空白字节集 (len)
lpsz = 取指针_字节集型 (ByteStr)
WideCharToMultiByte (acp, 0, lpwsz, -1, lpsz, len, 0, 0)
ByteStr = 指针到字节集 (lpsz, strlen (lpsz))  ' 不保留结尾的0
返回 (ByteStr)
子程序名返回值类型公开备 注
取指针字节集_整数型 
参数名类 型参考可空数组备 注
参数_字节集字节集
置入代码 ({ 139, 69, 8, 139, 0, 5, 8, 0, 0, 0, 201, 194, 4, 0 })
' mov eax,[ebp+08]
' mov eax,[eax]
' add eax,08
' leave
' retn 04
返回 (0)
子程序名返回值类型公开备 注
取数据_通用型_数组整数型 取到的是变量在堆中的地址,和 取变量数据地址() 一样
参数名类 型参考可空数组备 注
数据通用型基本支持所有类型
置入代码 ({ 139, 69, 8, 139, 0, 133, 192, 116, 10, 139, 24, 193, 227, 2, 131, 192, 4, 1, 216, 201, 194, 4, 0 })
返回 (0)
子程序名返回值类型公开备 注
_GetMethodAddr整数型 
参数名类 型参考可空数组备 注
Instance整数型
index整数型索引从0开始
变量名类 型静态数组备 注
var整数型 
var = 取字节集数据 (指针到字节集 (Instance, 4), #整数型, )
var = var + index × 4
var = 取字节集数据 (指针到字节集 (var, 4), #整数型, )
返回 (var)
子程序名返回值类型公开备 注
取指针整数_整数型 
参数名类 型参考可空数组备 注
参数_整数整数型
置入代码 ({ 139, 69, 8, 201, 194, 4, 0 })
' mov eax,[ebp+8]
' leave
' retn 04
返回 (0)
子程序名返回值类型公开备 注
取指针_字节集型整数型 取到的是变量堆地址,和 取变量数据地址() 一样
参数名类 型参考可空数组备 注
字节集字节集
置入代码 ({ 139, 69, 8, 139, 0, 133, 192, 15, 132, 3, 0, 0, 0, 131, 192, 8, 201, 194, 4, 0 })
返回 (0)

遍历回收站文件.zip

4.19 KB, 下载次数: 15, 下载积分: 精币 -2 枚

解压密码 323611141

QQ截图20210615215012.png

评分

参与人数 1精币 +1 收起 理由
callng + 1 https://bbs.125.la/forum.php?mod=viewthread&tid=14681357

查看全部评分


签到天数: 15 天

发表于 2021-6-15 22:43:44 | 显示全部楼层   广东省广州市
遍历并显示回收站中的文件
https://bbs.125.la/forum.php?mod=viewthread&tid=14681357
(出处: 精易论坛)

无语了~
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 2 天

 楼主| 发表于 2021-6-16 20:58:53 | 显示全部楼层   江苏省徐州市
有不少人没有看到说明,这个是由开源的源码改编来的,个人整合成了模块而已,不要再吵了。
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2022-9-9 16:52:53 | 显示全部楼层   广东省汕头市
遍历并显示回收站中的文件1
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2022-9-9 16:52:40 | 显示全部楼层   广东省汕头市
遍历并显示回收站中的文件
回复 支持 反对

使用道具 举报

结帖率:53% (18/34)

签到天数: 1 天

发表于 2022-5-11 12:56:33 | 显示全部楼层   西藏自治区拉萨市
遍历并显示回收站中的文件
回复 支持 反对

使用道具 举报

发表于 2021-6-23 09:32:05 | 显示全部楼层   广东省深圳市
过来学习下,感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2021-6-22 17:02:12 | 显示全部楼层   江苏省南通市
谢谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 2 天

 楼主| 发表于 2021-6-17 20:28:54 | 显示全部楼层   江苏省徐州市

不是抄袭,我将原本的实现代码整合成模块了而已,更方便初学者调用
回复 支持 反对

使用道具 举报

结帖率:88% (7/8)

签到天数: 15 天

发表于 2021-6-16 20:07:00 | 显示全部楼层   广东省广州市
难怪我感觉有点眼熟。似乎以前看过。。。
回复 支持 反对

使用道具 举报

发表于 2021-6-16 18:03:42 | 显示全部楼层   北京市北京市
我来学习下!走起!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表