资源介绍:
易语言迅雷下载引擎调用源码
.版本 2
.程序集 程序集1
.子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
_临时子程序 () ' 在初始化代码执行完毕后调用测试代码
返回 (0) ' 可以根据您的需要返回任意数值
.子程序 _临时子程序
' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
.子程序 初始化迅雷引擎, 逻辑型, 公开
写到文件 (取运行目录 () + “\XLDownload.dll”, #XLDownload_dll)
写到文件 (取运行目录 () + “\zlib1.dll”, #zlib1_dll)
返回 (初始化迅雷引擎_ ())
.子程序 卸载迅雷引擎, 逻辑型, 公开
删除文件 (取运行目录 () + “\XLDownload.dll”)
删除文件 (取运行目录 () + “\zlib1.dll”)
返回 (卸载迅雷引擎_ ())
.子程序 下载文件, 整数型, 公开, XL_SUCCESS,表示成功。其他值,表示失败。错误码的具体意思,请调用取迅雷错误码()命令。
.参数 本地文件名, 文本型, , 下载资源的本地文件名.文件全路径。
.参数 地址, 文本型, , 资源的URL。
.参数 引用页, 文本型, 可空, 资源的引用页,可以为空。
.参数 任务ID, 整数型, 参考, 唯一标识引擎创建的任务,该参数可以作为XLQueryTaskInfo、XLStopTask的第一个参数。如果该参数值为0,表示引擎创建任务失败。
返回 (下载文件_ (Ansi转Unicode (本地文件名), Ansi转Unicode (地址), Ansi转Unicode (引用页), 任务ID))
.子程序 暂停下载任务, 逻辑型, 公开, 暂停指定任务,并生成新的任务ID。
.参数 任务ID, 整数型, , 任务ID
.参数 新的任务ID, 整数型, 参考, 当返回值等于XL_SUCCESS时,返回新的任务ID;否则,值未定义。
.局部变量 ret, 整数型
ret = 暂停下载任务_ (任务ID, 新的任务ID)
.判断开始 (ret = #XL_SUCCESS)
返回 (真)
.默认
返回 (假)
.判断结束
.子程序 恢复已暂停任务, 整数型, 公开, XL_SUCCESS,表示成功。其他值,表示失败。错误码的具体意思,请调用取迅雷错误码()命令。
.参数 任务ID, 整数型, , TaskId必须是调用 暂停下载任务() 时生成的新任务ID
返回 (恢复已暂停任务_ (任务ID))
.子程序 停止指定任务, , 公开, 每个任务,无论下载成功或失败,最后都必须调用一次 停止指定任务() 。否则,会导致资源泄漏。如果指定的任务没有下载成功,该函数会删除对应的文件
.参数 新的任务ID, 整数型, , 任务ID
停止指定任务_ (新的任务ID)
.子程序 查询指定任务的当前状态, 整数型, 公开, XL_SUCCESS,表示成功。其他值,表示失败。错误码的具体意思,请调用取迅雷错误码()命令。
.参数 新的任务ID, 整数型, , 指定将要查询的任务。通过调用XLURLDownloadToFile可以获取一个任务ID。
.参数 任务状态, 整数型, 参考, 返回任务的当前状态。0=已经建立连接 2=开始下载 10=暂停 11=成功下载 12=下载失败
.参数 文件大小, 长整数型, 参考, 文件大小,单位是字节。
.参数 下载的数据, 长整数型, 参考, 已经下载到的数据,单位是字节。
返回 (查询指定任务的当前状态_ (新的任务ID, 任务状态, 文件大小, 下载的数据))
.子程序 取迅雷错误码, 文本型, 公开, 取迅雷错误码
.参数 错误码, 整数型, , 本源码来自三叶资源网(www.sanye.cx)
.判断开始 (错误码 = 0)
返回 (“成功!”)
.判断 (错误码 = #XL_ERROR_FAIL)
返回 (“失败!”)
.判断 (错误码 = #XL_ERROR_UNINITAILIZE)
返回 (“尚未进行初始化!”)
.判断 (错误码 = #XL_ERROR_UNSPORTED_PROTOCOL)
返回 (“不支持的协议,目前只支持HTTP和FTP!”)
.判断 (错误码 = #XL_ERROR_INIT_TASK_TRAY_ICON_FAIL)
返回 (“初始化托盘图标失败!”)
.判断 (错误码 = #XL_ERROR_ADD_TASK_TRAY_ICON_FAIL)
返回 (“添加托盘图标失败!”)
.判断 (错误码 = #XL_ERROR_POINTER_IS_NULL)
返回 (“指针为空!”)
.判断 (错误码 = #XL_ERROR_STRING_IS_EMPTY)
返回 (“字符串是空串!”)
.判断 (错误码 = #XL_ERROR_PATH_DONT_INCLUDE_FILENAME)
返回 (“传入的路径没有包含文件名!”)
.判断 (错误码 = #XL_ERROR_CREATE_DIRECTORY_FAIL)
返回 (“创建目录失败!”)
.判断 (错误码 = #XL_ERROR_MEMORY_ISNT_ENOUGH)
返回 (“内存不足!”)
.判断 (错误码 = #XL_ERROR_INVALID_ARG)
返回 (“参数不合法!”)
.判断 (错误码 = #XL_ERROR_TASK_DONT_EXIST)
返回 (“任务不存在!”)
.判断 (错误码 = #XL_ERROR_FILE_NAME_INVALID)
返回 (“文件名不合法!”)
.判断 (错误码 = #XL_ERROR_NOTIMPL)
返回 (“没有实现!”)
.判断 (错误码 = #XL_ERROR_TASKNUM_EXCEED_MAXNUM)
返回 (“已经创建的任务数达到最大任务数,无法继续创建任务!”)
.默认
返回 (“未知错误!”)
.判断结束
.子程序 Ansi转Unicode, 字节集, 公开, Ansi文本转Unicode
.参数 Ansi文本, 文本型
.局部变量 len, 整数型, , , 单位: Word
.局部变量 Unicode字节集, 字节集
len = MultiByteToWideChar (936, 0, Ansi文本, -1, { }, 0)
' 936 表示简体中文代码页; -1 表示以"0"作为文本终止符
' 如果要去掉转换后Unicode字节集末尾的{0,0},则Unicode长度再减去1
Unicode字节集 = 取空白字节集 (len × 2)
MultiByteToWideChar (936, 0, Ansi文本, -1, Unicode字节集, len × 2)
返回 (Unicode字节集)本源码来自三叶资源网(www.sanye.cx)
资源作者:
资源下载:
易语言调用迅雷下载核心
怎么调用迅雷引擎