Tech

迅雷已开放的部分API+代码范例[迅雷7可用]

基本应用

1.添加新任务

  • 创建讯雷调用对象
    CreateObject(“ThunderAgent.Agent”)
  • 添加下载任务
    ThunderEng.AddTask(“下载地址”, “另存文件名”, “保存目录”,”任务注释”,”引用地址”,”开始模式’, “只从原始地址下载”,”从原始地址下载线程数”)
  • 提交下载任务
    ThunderEng.CommitTasks()

'代码范例,将以下代码保存为.vbs文件,直接运行后会自动添加任务到迅雷
Set thunderAgent = CreateObject("ThunderAgent.Agent")
Call thunderAgent.AddTask("http://dmyz.org/back.tar.gz","back.tar.gz","","","",1,0,5)
Call thunderAgent.CommitTasks()
Set thunderAgent = Nothing

进入工具–配置–高级,把 通过IE右键菜单 “使用迅雷下载”添加任务 这个选项前面的勾去掉,迅雷将会自动开始任务(不需要点确定)。
2010年9月4日更新:在迅雷7下仍然需要点确认。

2.使用讯雷调用对象查询下载任务信息

  • 获取下载文件大小
    sFileSize = ThunderEng.GetTaskInfo(txtURL.Text, “FileSize”)
  • 获取已完成大小
    sDownedSize = ThunderEng.GetTaskInfo(txtURL.Text, “CompletedSize”)
  • 获取文件名
    sFileName = ThunderEng.GetTaskInfo(txtURL.Text, “FileName”)

迅雷平台接口函数定义

  • 获得信息
    BSTR GetInfo(BSTR pInfoName)
  • 获取迅雷或平台相关全部信息
    HRESULT GetInfoStruct(INT pInfo)
  • 加入任务
    HRESULT AddTask
    (BSTR pURL,
    BSTR pFileName = “”,
    BSTR pPath = “”,
    BSTR pComments = “”,
    BSTR pReferURL = “”,
    INT nStartMode = -1,
    INT nOnlyFromOrigin = 0,
    INT nOriginThreadCount = -1);
  • 开始任务

    HRESULT CommitTaskss()

  • 取消任务

    HRESULT CancelTasks()

  • 取消平台中所有由AddTask所加入的下载任务信息

    查询任务信息

    BSTR GetTaskInfo(BSTR pURL,BSTR pInfoName);

  • 查询一个任务的所有信息
    GetTaskInfoStruct(INT pTaskInfo)

    平台信息,定义如下:

    typedef struct _THUNDER_TASKINFO
    {
    CHAR szURL[1024]; // 任务URL,预先填充
    BOOL bTaskExists; // 任务是否存在,TRUE为存在
    CHAR szPath[256]; // 下载的本地保存路径
    CHAR szFileName[256]; // 本地文件名
    ULONGLONG nFileSize; // 文件大小
    ULONGLONG nCompletedSize; // 已完成的大小
    CHAR szPercent[16]; // 完成的百分数,用 “56.8”的格式
    CHAR szStatus[16]; // 当前状态,定义同GetTaskInfo函数
    } THUNDER_TASKINFO;

0 0 投票数
文章评分
订阅评论
提醒
guest

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

1 评论
最新
最旧 最多投票
内联反馈
查看所有评论