找回密码
 立即注册

QQ登录

只需一步,快速开始

gw0506

超级版主

178

主题

4209

帖子

9031

积分

超级版主

Rank: 8Rank: 8

积分
9031

活字格认证

gw0506
超级版主   /  发表于:2011-6-3 13:46  /   查看:8081  /  回复:1
360上市了,同时周鸿祎也暗示自己投资的另一家公司也要上市,业界都在猜测是否是迅雷。但是又有传闻说美国会拿迅雷上市开刀,以知识产权来影响中国互联网企业上市的门槛。

最近迅雷也开放了自己的下载引擎,使得用户不需要安装迅雷,也可以使用迅雷引擎来进行下载。围绕着迅雷做开发,利用迅雷下载的资源优势,和逐渐壮大的迅雷雷友社区来创造增值,应该是迅雷开放自己下载引擎的目的。围绕迅雷做开发大体上有三种:

1. 使用迅雷的开放引擎XLDownload.dll做开发。
2. 使用迅雷的ThunderAgent.dll, COM组件做Agent开发。
3. 使用Lua在迅雷内部做应用插件开发。

Reference:
http://thunderplatform.xunlei.com/
http://xldoc.xl7.xunlei.com/

1. 使用迅雷的开放引擎XLDownload.dll做开发
在XLDownload.dll的 .h 头文件里给出了XLDownload.dll提供的功能:
  1. BOOL __stdcall XLInitDownloadEngine();
  2. DWORD __stdcall XLURLDownloadToFile(LPCTSTR pszFileName, LPCTSTR pszUrl, LPCTSTR pszRefUrl, LONG & lTaskId);
  3. DWORD __stdcall XLQueryTaskInfo(LONG lTaskId, LONG *plStatus, ULONGLONG *pullFileSize, ULONGLONG *pullRecvSize);
  4. DWORD __stdcall XLPauseTask(LONG lTaskId, LONG & lNewTaskId);
  5. DWORD __stdcall XLContinueTask(LONG lTaskId);
  6. DWORD __stdcall XLContinueTaskFromTdFile(LPCTSTR pszTdFileFullPath, LONG & lTaskId);
  7. VOID __stdcall XLStopTask(LONG lTaskId);
  8. BOOL __stdcall XLUninitDownloadEngine();
  9. DWORD __stdcall XLGetErrorMsg(DWORD dwErrorId, LPTSTR pszBuffer, DWORD & dwSize);
  10. enum enumTaskStatus{
  11.   enumTaskStatus_Connect = 0, // 已经建立连接
  12.   enumTaskStatus_Download = 2, // 开始下载
  13.   enumTaskStatus_Pause = 10, // 暂停
  14.   enumTaskStatus_Success = 11, // 成功下载
  15.   enumTaskStatus_Fail = 12, // 下载失败
  16. };
复制代码
根据这9个函数,可以使用.Net DllImport 一下,开发出一个基于迅雷引擎的下载工具:
265095635549.jpg (58.37 KB, 下载次数: 122)

1 个回复

倒序浏览
mmxx0212
注册会员   /  发表于:2011-12-15 21:17:00
沙发
学习学习,看看思路
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部