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  ,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值