Delphi使用迅雷的开放下载引擎下载

简介:

    迅雷的下载貌似开放了引擎,也就是说,咱们可以写程序用迅雷的下载引擎下载文件了。下载地址

http://thunderplatform.xunlei.com/

不过,下载的东西,给了一个SDK和一个DLL,只要调用DLL中的相关函数,就能下载了,不过,就我目前测试的来看,只支持Http协议,是阉割版的,而且,启动之后,会在系统右下角多一个图标,一个鸟头的图标。总之是很挫咯。他的SDK给了一个Demo,是VC的代码。顺带把SDK翻译了成Delphi的,有想使用这个阉割方法下载的人,可以偷偷懒试试咯。说明,我没有测试,所以不保证一定翻译有效。因为这个阉割版阉割的太厉害了,就支持一个Http的,所以,我就没心思去写一个完整的Demo测试。

复制代码

  
  
(*
enum enumTaskStatus{
enumTaskStatus_Connect = 0, // 已经建立连接
enumTaskStatus_Download = 2, // 开始下载
enumTaskStatus_Pause = 10, // 暂停
enumTaskStatus_Success = 11, // 成功下载
enumTaskStatus_Fail = 12, // 下载失败
} ;
* )
enumTaskStatus
= (
enumTaskStatus_Connect
= 0 , // 已经建立连接
enumTaskStatus_Download
= 2 , // 开始下载
enumTaskStatus_Pause
= 10 , // 暂停
enumTaskStatus_Success
= 11 , // 成功下载
enumTaskStatus_Fail
= 12 );
复制代码

复制代码

  
  
// BOOL __ stdcall XLInitDownloadEngine();
function XLInitDownloadEngine: BOOL; stdcall ; external ' XLDownload.dll ' ;
// DWORD __ stdcall XLURLDownloadToFile(LPCTSTR pszFileName, LPCTSTR pszUrl, LPCTSTR pszRefUrl, LONG & lTaskId);
function XLURLDownloadToFile(pszFileName,pszUrl,pszRefurl: PChar; var iTaskId: LongInt): DWORD; stdcall ; external ' XLDownload.dll ' ;
// DWORD __ stdcall XLQueryTaskInfo(LONG lTaskId, LONG * plStatus, ULONGLONG * pullFileSize, ULONGLONG * pullRecvSize);
function XLQueryTaskInfo(lTaskId: LongInt;plStatus: PInteger;pullFileSize: PDWORD; pullRecvSize: PDWORD): DWORD; stdcall ; external ' XLDownload.dll ' ;
// DWORD __ stdcall XLPauseTask(LONG lTaskId, LONG & lNewTaskId);
function XLPauseTask(lTaskID: LongInt; var lNewTaskID: LongInt): DWORD; stdcall ; external ' XLDownload.dll ' ;
// DWORD __ stdcall XLContinueTask(LONG lTaskId);
function XLContinueTask(lTaskId: LongInt): DWORD; stdcall ; external ' XLDownload.dll ' ;
// DWORD __ stdcall XLContinueTaskFromTdFile(LPCTSTR pszTdFileFullPath, LONG & lTaskId);
function XLContinueTaskFromTdFile(pszTdFileFullPath: PChar; var lTaskId: Longint): DWORD; stdcall ; external ' XLDownload.dll ' ;
// VOID __ stdcall XLStopTask(LONG lTaskId);
procedure XLStopTask(lTaskId: longint); stdcall ; external ' XLDownload.dll ' ;
// BOOL __ stdcall XLUninitDownloadEngine();
function XLUninitDownloadEngine: BOOL; stdcall ; external ' XLDownload.dll ' ;
// DWORD __ stdcall XLGetErrorMsg(DWORD dwErrorId, LPTSTR pszBuffer, DWORD & dwSize);
function XLGetErrorMsg(dwErrorId: DWORD;pszBuffer: PChar; var dwsize: DWORD): DWORD; stdcall ; external ' XLDownload.dll ' ;
复制代码

有兴趣的拿去试试把!




本文转自 不得闲 博客园博客,原文链接: http://www.cnblogs.com/DxSoft/archive/2011/03/22/1991557.html  ,如需转载请自行联系原作者

相关文章
|
8月前
|
数据采集 Web App开发 调度
Headless Chrome 优化:减少内存占用与提速技巧
在数据驱动的时代,爬虫技术至关重要。本文聚焦 Headless Chrome 优化方案,解决传统爬虫内存占用高、效率低等问题。通过无界面模式、代理 IP等配置,显著降低资源消耗并提升速度。实际案例中,该方案用于采集汽车点评数据,性能提升明显:内存占用降低 30%-50%,页面加载提速 40%-60%。结合技术架构图与演化树,全面解析爬虫技术演进,助力高效数据采集。
383 0
Headless Chrome 优化:减少内存占用与提速技巧
|
消息中间件 Java Spring
SpringBoot实现RabbitMQ的广播交换机(SpringAMQP 实现Fanout广播交换机)
SpringBoot实现RabbitMQ的广播交换机(SpringAMQP 实现Fanout广播交换机)
251 2
|
Java Spring
在Spring Boot中使用AOP实现日志切面
在Spring Boot中使用AOP实现日志切面
|
SQL 关系型数据库 MySQL
MYSQL根据查询结果删除sql 去除重复id 新增对比前一条与后一条数据 去重3种方法​ 窗口函数
MYSQL根据查询结果删除sql 去除重复id 新增对比前一条与后一条数据 去重3种方法​ 窗口函数
311 0
|
Windows
windows 11 恢复右键传统菜单
windows 11 恢复右键传统菜单
396 27
|
Android开发
Android 中选项菜单(Option menu)的用法
Android 中选项菜单(Option menu)的用法
384 0
IDEA常用快捷键
本文为IDEA用户,特别是Java新手总结了一系列实用快捷键,包括快速生成main方法(psvm)、输出语句(sout)、删除行(Ctrl + X/Y)等,以及代码搜索、调试模式启动等高级功能,并提供了自定义快捷键的方法及示例图片,助你提升开发效率。
|
开发框架 前端开发 JavaScript
现代前端开发中的跨平台应用框架比较与选择
本文探讨了现代前端开发中的跨平台应用框架,分析了Flutter、React Native和Ionic等框架的特点及其在不同场景下的适用性,旨在帮助开发者在选择合适框架时做出明智决策。
|
存储 人工智能 数据安全/隐私保护
开启智能新时代:2024年中国AI大模型产业发展报告
【4月更文挑战第6天】2024年,中国AI大模型产业蓬勃发展,成为科技和经济增长新引擎。人民网财经研究院与至顶科技联合发布报告,详述产业发展背景、现状、挑战与趋势。政策支持下,AI大模型技术进步显著,在办公、制造等领域广泛应用。报告提及云侧与端侧大模型,以及科大讯飞、百度、阿里巴巴等企业的大模型案例。挑战包括算力瓶颈、资源消耗及训练数据不足。未来趋势包括云侧与端侧模型的分化、通用与专用模型并存、大模型开源及芯片技术升级。
813 3
开启智能新时代:2024年中国AI大模型产业发展报告
|
人工智能 编解码 自然语言处理
探索AI视频生成新纪元:文生视频Sora VS RunwayML、Pika及StableVideo——谁将引领未来
探索AI视频生成新纪元:文生视频Sora VS RunwayML、Pika及StableVideo——谁将引领未来
探索AI视频生成新纪元:文生视频Sora VS RunwayML、Pika及StableVideo——谁将引领未来
下一篇
开通oss服务