使用迅雷下载API进行快速下载
使用迅雷下载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进行下载了

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
一个简单的mybatis案例
创建一个简单的mybatis案例: 案例功能: 写一个Java程序通过mybatis连接MySQL数据库并插入一条记录。 项目步骤: 1. 新建一个Java项目mybatistest 2. 引入jar包: log4j-1.2.17.jar mybatis-3.4.6.jar mysql-connector-java-5.1.29.jar 3. src下新建2个包: com.radish.domain com.radish.mapper test 4. 新建表: CREATE TABLE `tb_user` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `NAME` varchar(18) DEFAULT NULL, `SEX` char(2) DEFAULT NULL, `AGE` int(11) DEFAULT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; 5.创建POJO src/com/radish/domain/User.jav...
-
下一篇
传奇工程师卡马克入坑 AI:徒手一周实现反向传播和 CNN
约翰 · 卡马克是何方神圣? 谁是约翰 · 卡马克? 他是一位集传奇工程师、大神、疯狂程序员、黑客之神、第一人称射击游戏之父、业界活化石、一代玄学码神所有称号为一身的老牌程序员,一举一动都牵动人心。 约翰 ·D· 卡马克二世(John D. Carmack II,出生于 1970 年 8 月 20 日),是美国的电玩游戏程序员、id Software 的创始人之一,id 是一家专门开发电子游戏、电视游戏的公司,成立于 1991 年。 至于 id Software 这家公司都制作过什么游戏呢?说几个你应该就知道了:《CS(反恐精英)》、《半条命》、《毁灭战士》都出自这家公司。 怎么样,对这位卡马克先生多少有些了解了吧? 当然,对技术大牛的一切不提技术水平的吹捧都是耍流氓!——沃茨 · 基硕德,那我们就来说一说这位卡马克大神的技术水平。 卡马克最让
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2全家桶,快速入门学习开发网站教程
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL数据库在高并发下的优化方案
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果