迅雷应用开发

标签: 迅雷 应用 开发 | 发表时间:2011-06-03 13:52 | 作者:葡萄城控件技术团队博客 Pei
出处:http://www.cnblogs.com/

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提供的功能:

BOOL __stdcall XLInitDownloadEngine();
DWORD __stdcall XLURLDownloadToFile(LPCTSTR pszFileName, LPCTSTR pszUrl, LPCTSTR pszRefUrl, LONG & lTaskId);
DWORD __stdcall XLQueryTaskInfo(LONG lTaskId, LONG *plStatus, ULONGLONG *pullFileSize, ULONGLONG *pullRecvSize);
DWORD __stdcall XLPauseTask(LONG lTaskId, LONG & lNewTaskId);
DWORD __stdcall XLContinueTask(LONG lTaskId);
DWORD __stdcall XLContinueTaskFromTdFile(LPCTSTR pszTdFileFullPath, LONG & lTaskId);
VOID __stdcall XLStopTask(LONG lTaskId);
BOOL __stdcall XLUninitDownloadEngine();
DWORD __stdcall XLGetErrorMsg(DWORD dwErrorId, LPTSTR pszBuffer, DWORD & dwSize);
enum enumTaskStatus{
  enumTaskStatus_Connect = 0, // 已经建立连接
  enumTaskStatus_Download = 2, // 开始下载 
  enumTaskStatus_Pause = 10, // 暂停
  enumTaskStatus_Success = 11, // 成功下载
  enumTaskStatus_Fail = 12, // 下载失败
};

根据这9个函数,可以使用.Net DllImport 一下,开发出一个基于迅雷引擎的下载工具:

1

迅雷的开放引擎在被调用时,会在系统托盘里弹出提示信息,告诉用户正在使用迅雷开放引擎下载:

2

这个版本的开放下载引擎稍有遗憾,好像只支持Http协议的资源,迅雷本协议的资源并不支持下载。这个让人很是遗憾。


2. 使用迅雷的ThunderAgent.dll, COM组件做Agent开发
安装完迅雷后,在迅雷的BHO文件夹下会找到ThunderAgent.dll,.Net 工程加载这个dll后,会看到Agent内部的API :

3

使用Agent开发迅雷应用,迅雷必须安装,调用AddTask后会弹出迅雷的提示框:

4

需要用户自己点击"立即下载"。可以使用FindWindow, SendMessage, 类似自动测试常用的办法点击"立即下载"。


3. 使用Lua在迅雷内部做应用插件开发
Lua 作为内嵌语言来做插件开发已经非常成熟了,最为著名的应该算暴雪的《魔兽世界》和其它各大游戏厂商都在使用Lua作为自己游戏的插件开发语言。迅雷也选用Lua作为自己的插件开发语言。使用Lua可以快速方便的开发出一个迅雷应用插件:

5

这个 Blog&Music 迅雷插件想在迅雷里一边看博客,一边听音乐。点击插件,会新开一个Tab页载入博客:

6

同时在下载状态栏里载入一个音乐播放器:

7

这样就可以在迅雷里一边看博客,一边听音乐了。 :)


安装插件时,把BlogMusic文件夹拷贝到 ProgramData\Thunder Network\addins\ 下,同时删除addins_cache.xml,清除插件的cache,重新打开迅雷就可以看到这个插件了。

这个插件没有什么实际意义,只是学习迅雷插件的开发。
迅雷在线文档给出了Lua可调用的API:   http://xldoc.xl7.xunlei.com/
迅雷阳台里有一些实用插件:       http://yangtai.xunlei.com/

上面大体是围绕迅雷做开发的三种方式,从这三种方式看,感觉迅雷的开放力度很小,迅雷的开放引擎不支持自己的协议,同时要在系统托盘提示用户在使用迅雷引擎。Lua可访问的API也并不多,而且还主要集中在UI上,看来迅雷对开放还是比较保守的。

示例代码

作者: 葡萄城控件技术团队博客 发表于 2011-06-03 13:52 原文链接

评论: 9 查看评论 发表评论


最新新闻:
· FireFox 4 每分钟下载量达到1500(2011-06-03 23:54)
· 报道称摩托罗拉手机辐射量最大 iPhone居中(2011-06-03 23:07)
· 消息称新浪微博筹备英文版 或第三季度进军美国(2011-06-03 22:30)
· 迅雷7.2优先体验版更新(2011-06-03 22:19)
· 疯狂的浏览器:互联网入口之争再升级(2011-06-03 22:13)

编辑推荐:Java/.Net语言及IDE简易对比

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库

相关 [迅雷 应用 开发] 推荐:

迅雷应用开发

- Pei - 博客园-首页原创精华区
360上市了,同时周鸿祎也暗示自己投资的另一家公司也要上市,业界都在猜测是否是迅雷. 但是又有传闻说美国会拿迅雷上市开刀,以知识产权来影响中国互联网企业上市的门槛. 最近迅雷也开放了自己的下载引擎,使得用户不需要安装迅雷,也可以使用迅雷引擎来进行下载. 围绕着迅雷做开发,利用迅雷下载的资源优势,和逐渐壮大的迅雷雷友社区来创造增值,应该是迅雷开放自己下载引擎的目的.

Mac版迅雷开发中,界面原型首曝!

- Dolphin - 迅雷阳台-晒出新鲜事
  前段时间,伊文在跟同事闲聊时听说有同事凭个人兴趣在公司支持下开发Mac版迅雷,今天伊文找到了负责Mac版迅雷开发的同事HaiBin,向他了解Mac版迅雷目前的进展,Mac版迅雷界面原型也在此首度曝光.   Mac版迅雷起初只有1名开发人员凭着个人兴趣,利用业余时间开发. 后来公司里一位同为果粉的设计师kakee也加入进来,正在为Mac版迅雷设计界面.

“池鱼”迅雷

- jyf1987 - cnBeta全文版
提起“城门失火殃及池鱼”这句老话,相信国人几乎都明白其中的含义. 在国人眼里,池鱼基本上是“倒霉蛋”的同义词,可在现实生活中,这种“倒霉蛋”似乎随处可见,迅雷网则是最新的一条“池鱼”. 10 月13日,一直纠结于是象土豆网那样勉强赴美上市还是干脆学潇洒终止赴美上市的迅雷终于做出了一个最为艰难的决定,向美国证券交易委员会(SEC)提交更新文件,撤销上市计划.

百度酝酿注资迅雷 双方合作开发下载服务客户端

- Genius - cnBeta.COM
新浪科技讯 3月15日下午消息,百度迅雷正展开合作,共同开发一款客户端产品. 据称百度还有意寻求进一步对即将上市的迅雷投资. 这被认为是百度在3Q大战之后,加强客户端战略布局的一部分. 据接近百度战略投资部的人士透露,百度和迅雷正在合作开发一款客户端产品,主要功能仍然将围绕下载服务展开. 双方去年年底开始接洽合作事宜,目前产品已在开发中,虽然没有详细时间表但应该“时间不会很久”.

迅雷VIP发放

- MS - 草榴社區
为了方便大家下载下面发放7月迅雷VIP. 7月20日更新账号(第一批今日159个)迅雷vip号454675889密码xinjipin.com网友帮续费的. 迅雷vip号617623505密码xinjipin.com网友奉献. 迅雷vip号483435301密码xinjipin.com新极品网开号. 迅雷vip号483435425密码xinjipin.com新极品网开号.

迅雷 sky angle1-100

- 玉林 - (title unknown)
Sky Angel Vol.1 白石日和. Sky Angel Vol.2 阿立未來. Sky Angel Vol.3 河奈ちなみ. Sky Angel Vol.4 永井さくら. Sky Angel Vol.5 沖那つばさ. Sky Angel Vol.6 月丘うさぎ. Sky Angel Vol.8 大空あすか.

Android应用开发资源

- - InfoQ cn
Android应用设计和开发人员现在可以参考由Android用户体验(UX)团队官方发布的 Android设计指南. 该指南提供了开发者应该遵循的基本原则,并列出了很多细节指导,涉及 设备与显示、 主题、 触控交互、 度量与栅格、 排版、 色彩、 图标设计,以及如何 编写用户交互界面的提示语.

企业应用开发与互联网应用开发区别

- - 行业应用 - ITeye博客
注:转自 http://timeson.iteye.com/blog/609045. 新形式下的企业应用特点: . 企业应用系统从封闭走向开放,由局域网转到互联网,随着涉众面的极大扩展,新的企业应用要求多浏览器支持(IE,FireFox),国际化支持,全球业务的互联互通. 这样就要求企业应用不能满足简单的表单、表格、树、菜单;而是要求有较好的用户体验,提倡富互联网应用.

迅雷7.2.3.3254正式版

- 高春辉 - cnBeta.COM
迅雷7.2.3经过3个优先体验版的不断改进,达到了我们的正式版发布标准. 并为您带来了许多激动人心的改进.

Eclipse开发Android应用程序入门

- Bingnan - 酷壳 - CoolShell.cn
原文出处:http://www.smashingmagazine.com/2010/10/25/get-started-developing-for-android-with-eclipse/. 如今的移动设备应用程序开发充满着让人振奋的东西. 功能强大的硬件支持,平板电脑,多样的软件平台(塞班 OS,iOS,WebOS,Windows Phone 7…),移动设备开发者前景充满了机会和挑战.