使用迅雷下载API进行快速下载-阿里云开发者社区

开发者社区> 孤独的猫董> 正文

使用迅雷下载API进行快速下载

简介: 使用迅雷下载AP 下载
+关注继续查看

使用迅雷下载API进行快速下载


  • 首先新建工程,在资源的链接器加入XLDownload.lib
  • 并在代码中加入代码
  • 在源码目录中加入XLDownload.dll,XLDownload.lib,XLDownload.h,XLError.h
// xlmydownload.cpp : 定义控制台应用程序的入口点。
// XLDownload.cpp : 定义控制台应用程序的入口点。

#include "stdafx.h"
#include <windows.h>
#include <tchar.h>
#include "stdafx.h"
#include <stdio.h>
#include "stdlib.h"
#include ".\\XLDownload.h"
#include ".\\XLError.h"
#pragma comment(lib, "XLDownload.lib")

int main()
{
    // 1、初始化下载引擎
    if (FALSE == XLInitDownloadEngine())
    {
        printf("Initialize download engine failed.\n");
        return 1;
    }

    // 2、启动新任务
    // PS:如果链接无法通过,请把工程属性“将wchar_t设置为内置类型        (/Zc:wchar_t)”设置为Yes
    LONG   lTaskId = 0;
    DWORD  dwRet = XLURLDownloadToFile(
        _T("d:\\xmp.exe"),
        _T("http://xmp.down.sandai.net/kankan/XMPSetup_3.8.1.485-www.exe"),
        _T(""), lTaskId);

    if (XL_SUCCESS != dwRet)
    {
        XLUninitDownloadEngine();
        printf("Create new task failed, error code:%d.\n", dwRet);
        return 1;
    }

    printf("Begin download file.\n");

    // 3、查询任务状态
    do
    {
        ::Sleep(1000);

        ULONGLONG   ullFileSize = 0;
        ULONGLONG   ullRecvSize = 0;
        LONG        lStatus = -1;

        dwRet = XLQueryTaskInfo(lTaskId, &lStatus, &ullFileSize, &ullRecvSize);
        if (XL_SUCCESS == dwRet)
        {
            // 输出进度信息
            if (0 != ullFileSize)
            {
                double  douProgress = (double)ullRecvSize / (double)ullFileSize;
                douProgress *= 100.0;
                printf("Download progress:%.2f%%\n", douProgress);
            }
            else
            {
                printf("File size is zero.\n");
            }

            if (enumTaskStatus_Success == lStatus)
            {
                printf("Download successfully.\n");
                break;
            }

            if (enumTaskStatus_Fail == lStatus)
            {
                printf("Download failed.\n");
                break;
            }
        }
    } while (XL_SUCCESS == dwRet);

    // 4、无论是否下载成功,都必须调用XLStopTask
    XLStopTask(lTaskId);

    // 5、释放资源
    XLUninitDownloadEngine();
    return 0;
}
  • 代码编译如果出错,需将字符集改为Unicode 字符集
  • 运行程序,就可以使用迅雷API进行下载了

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9489 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
11199 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9050 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13172 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
6888 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4009 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
21901 0
742
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载