• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

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';
有兴趣的拿去试试把!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi窗体显示后弹出一个对话框的方法发布时间:2022-07-18
下一篇:
删除方法申明时删除所有引用与方法体(Delphi2007)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap