易语言 读取IE缓存目录里面指定的某个网站的缓存文件(如index.htm)到字符串。

例如打开某网站的时候,缓存了一个access.htm文档在IE缓存里面,想把这个文件以文本形式读取到字符串中。

第1个回答  2015-11-22
' 用到的dll命令:
.版本 2

.DLL命令 寻找第一个Url缓存入口_, 整数型, "wininet.dll", "FindFirstUrlCacheEntryA"
.参数 寻找样式, 文本型, , lpszUrlSearchPattern
.参数 第一个Url缓存入口信息, 字节集, , lpFirstCacheEntryInfo
.参数 第一个Url缓存入口信息大小, 整数型, 传址, lpdwFirstCacheEntryInfoBufferSize

.DLL命令 寻找下一个Url缓存入口_, 整数型, "wininet.dll", "FindNextUrlCacheEntryA", , FindNextUrlCacheEntry
.参数 下一个Url缓存入口信息, 整数型, , lpNextCacheEntryInfo
.参数 lpNextCacheEntryInfo, 字节集, , Any型,根据需要可以设置成不同的类型
.参数 下一个Url缓存入口信息大小, 整数型, 传址, lpdwNextCacheEntryInfoBufferSize

'自定义数据类型:
.版本 2

.数据类型 缓存文件类型, 公开
.成员 路径, 文本型
.成员 网址, 文本型

’调用子程序如下,调用时需要传入完整的网址,才能从缓存里读出这个文件,返回是字节集,到文本()一下就是字符串了:

.版本 2

.子程序 根据网址取缓存文件, 字节集, 公开
.参数 文件网址, 文本型
.局部变量 句柄, 整数型
.局部变量 信息, 字节集
.局部变量 n, 整数型
.局部变量 字符, 文本型
.局部变量 指针, 整数型
.局部变量 指针1, 整数型
.局部变量 路径, 文本型
.局部变量 网址, 文本型
.局部变量 临时, 缓存文件类型

信息 = 取空白字节集 (2048)
.循环判断首 ()
.如果真 (句柄 = 0)
字符 = “”
句柄 = 寻找第一个Url缓存入口_ (字符, 信息, 2048)
.如果真 (句柄 = 0)
跳出循环 ()
.如果真结束

.如果真结束
n = 寻找下一个Url缓存入口_ (句柄, 信息, 2048)
.如果真 (n = 1)
指针1 = 取字节集数据 (取字节集中间 (信息, 9, 4), 3, )
指针 = 取字节集数据 (取字节集中间 (信息, 5, 4), 3, )
路径 = 指针到文本 (指针1)
网址 = 指针到文本 (指针)
.如果真 (文件网址 = 网址)
返回 (读入文件 (路径))
.如果真结束

.如果真结束

.循环判断尾 (n = 1)
返回 ({ })本回答被提问者和网友采纳
相似回答