您现在的位置是:首页 > 文章详情

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

日期:2018-03-11点击:646

使用迅雷下载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进行下载了
原文链接:https://yq.aliyun.com/articles/530467
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章