最近有个项目需要用winform调用迅雷 下载 。上网百度后发现迅雷自带的com 组件 从迅雷5之后就废掉了,除了能添加任务,其余功能全不能用。
using System.Linq; 
using System.Text; 
using System.Runtime.InteropServices; 
namespace WindowsFormsApplication1 

    class thunder 
    { 
        //迅雷下载开放引擎  
        [DllImport("XLDownload.dll", EntryPoint = "XLInitDownloadEngine")] 
        public static extern bool XLInitDownloadEngine(); 
        [DllImport("XLDownload.dll", EntryPoint = "XLUninitDownloadEngine")] 
        public static extern bool XLUninitDownloadEngine(); 
        [DllImport("XLDownload.dll", EntryPoint = "XLURLDownloadToFile", CharSet = CharSet.Auto)] 
        public static extern int XLURLDownloadToFile(string pszFileName,string  pszUrl, string pszRefUrl, ref Int32 lTaskId); 
        [DllImport("XLDownload.dll", EntryPoint = "XLQueryTaskInfo", CharSet = CharSet.Auto)] 
        public static extern int XLQueryTaskInfo(int lTaskId, ref int plStatus, ref UInt64 pullFileSize, ref UInt64 pullRecvSize); 
        [DllImport("XLDownload.dll", EntryPoint = "XLGetErrorMsg",CharSet = CharSet.Auto)] 
         public static extern int XLGetErrorMsg(int dwErrorId, string pszBuffer,ref int  dwSize); 
        [DllImport("XLDownload.dll", EntryPoint = "XLContinueTask", CharSet = CharSet.Auto)] 
        public static extern int XLContinueTask(int lTaskId); 
        [DllImport("XLDownload.dll", EntryPoint = "XLContinueTaskFromTdFile", CharSet = CharSet.Auto)] 
        public static extern int XLContinueTaskFromTdFile(string pszTdFileFullPath, ref int lTaskId); 
          [DllImport("XLDownload.dll", EntryPoint = "XLPauseTask", CharSet = CharSet.Auto)] 
        public static extern int XLPauseTask(int lTaskId, ref int lNewTaskId); 
            [DllImport("XLDownload.dll", EntryPoint = "XLStopTask", CharSet = CharSet.Auto)] 
       public static extern int  XLStopTask(int lTaskId); 
        
          public const int   TaskStatus_Connect = 0;                // 已经建立连接  
          public const int   TaskStatus_Download = 2;                // 开始下载   
          public const int   TaskStatus_Pause = 10;                  // 暂停  
           public const int  TaskStatus_Success = 11;                // 成功下载  
           public const int TaskStatus_Fail = 12;                  // 下载失败  
        
         
        public const int XL_SUCCESS = 0; 
        public const int XL_ERROR_FAIL = 0x10000000; 
 
        // 尚未进行初始化  
        public const int XL_ERROR_UNINITAILIZE = XL_ERROR_FAIL + 1; 
 
        // 不支持的协议,目前只支持HTTP  
        public const int XL_ERROR_UNSPORTED_PROTOCOL = XL_ERROR_FAIL + 2; 
 
        // 初始化托盘图标失败  
        public const int XL_ERROR_INIT_TASK_TRAY_ICON_FAIL = XL_ERROR_FAIL + 3; 
 
        // 添加托盘图标失败  
        public const int XL_ERROR_ADD_TASK_TRAY_ICON_FAIL = XL_ERROR_FAIL + 4; 
 
        // 指针为空  
        public const int XL_ERROR_POINTER_IS_NULL = XL_ERROR_FAIL + 5; 
 
        // 字符串是空串  
        public const int XL_ERROR_STRING_IS_EMPTY = XL_ERROR_FAIL + 6; 
 
        // 传入的路径没有包含文件名  
        public const int XL_ERROR_PATH_DONT_INCLUDE_FILENAME = XL_ERROR_FAIL + 7; 
 
        // 创建目录失败  
        public const int XL_ERROR_CREATE_DIRECTORY_FAIL = XL_ERROR_FAIL + 8; 
 
        // 内存不足  
        public const int XL_ERROR_MEMORY_ISNT_ENOUGH = XL_ERROR_FAIL + 9; 
 
        // 参数不合法  
        public const int XL_ERROR_INVALID_ARG = XL_ERROR_FAIL + 10; 
 
        // 任务不存在  
        public const int XL_ERROR_TASK_DONT_EXIST = XL_ERROR_FAIL + 11; 
 
        // 文件名不合法  
        public const int XL_ERROR_FILE_NAME_INVALID = XL_ERROR_FAIL + 12; 
 
        // 没有实现  
        public const int XL_ERROR_NOTIMPL = XL_ERROR_FAIL + 13; 
 
        // 已经创建的任务数达到最大任务数,无法继续创建任务  
        public const int XL_ERROR_TASKNUM_EXCEED_MAXNUM = XL_ERROR_FAIL + 14; 
 
        // 任务类型未知  
        public const int XL_ERROR_INVALID_TASK_TYPE = XL_ERROR_FAIL + 15; 
 
        // 文件已经存在  
        public const int XL_ERROR_FILE_ALREADY_EXIST = XL_ERROR_FAIL + 16; 
 
        // 文件不存在  
        public const int XL_ERROR_FILE_DONT_EXIST = XL_ERROR_FAIL + 17; 
 
        // 读取cfg文件失败  
        public const int XL_ERROR_READ_CFG_FILE_FAIL = XL_ERROR_FAIL + 18; 
 
        // 写入cfg文件失败  
        public const int XL_ERROR_WRITE_CFG_FILE_FAIL = XL_ERROR_FAIL + 19; 
 
        // 无法继续任务,可能是不支持断点续传,也有可能是任务已经失败  
        // 通过查询任务状态,确定错误原因。  
        public const int XL_ERROR_CANNOT_CONTINUE_TASK = XL_ERROR_FAIL + 20; 
 
        // 无法暂停任务,可能是不支持断点续传,也有可能是任务已经失败  
        // 通过查询任务状态,确定错误原因。  
        public const int XL_ERROR_CANNOT_PAUSE_TASK = XL_ERROR_FAIL + 21; 
 
        // 缓冲区太小  
        public const int XL_ERROR_BUFFER_TOO_SMALL = XL_ERROR_FAIL + 22; 
 
        // 调用XLInitDownloadEngine的线程,在调用XLUninitDownloadEngine之前已经结束。  
        // 初始化下载引擎线程,在调用XLUninitDownloadEngine之前,必须保持执行状态。  
        public const int XL_ERROR_INIT_THREAD_EXIT_TOO_EARLY = XL_ERROR_FAIL + 23; 
 
        // TP崩溃  
        public const int XL_ERROR_TP_CRASH = XL_ERROR_FAIL + 24; 
 
        // 任务不合法,调用XLContinueTaskFromTdFile继续任务。内部任务切换失败时,会产生这个错误。  
        public const int XL_ERROR_TASK_INVALID = XL_ERROR_FAIL + 25; 
    } 
}

C# 调用迅雷 7 迅雷下载开放引擎相关推荐

  1. 迅雷可以下载的文件是forum.php,调用迅雷下载开放引擎下载文件

    迅雷下载开放引擎 迅雷下载开放引擎是迅雷开放下载技术的重要产品,依托迅雷强大的下载加速技术和将近4亿互联网用户覆盖,开放下载相关调用接口,为第三方客户端软件提供免费.高速.省带宽的下载加速服务. 官方 ...

  2. 十招让迅雷安全高速下载(转)

    2008年的互联网安全问题仍不容乐观,主要表现是病毒泛滥.木马横行.蠕虫蔓延.插件滋长.内容低下.文不对题.鱼目混珠,把整个互联网弄得乌烟瘴气! 更为可气的是,这些黑道技术也会"与时俱进&q ...

  3. php下载链接 迅雷下载,php实现把url转换迅雷thunder资源下载地址的方法

    php实现把url转换迅雷thunder资源下载地址的方法 本文实例讲述了php实现把url转换迅雷thunder资源下载地址的方法.分享给大家供大家参考.具体方法分析如下: 如果你知道迅雷地址的生成 ...

  4. Python3.x+迅雷x 自动下载高分电影,嘿嘿!你懂的

    话说以前玩Python的时候爬过挺多网站的,都是在公司干的(Python不属于公司的业务范围,纯属自己折腾着好玩), 我那个负责运维的同事天天跑过来说:你又在爬啥啊,你去看看新闻,某某爬东西又被抓了! ...

  5. ios uiview 如何刷新_2020最新迅雷苹果版如何下载?

    自iOS系统更新以后就用不了迅雷企业版,小伙伴们不要着急,iOS版迅雷失效是经常的事.现在为大家提供迅雷beta,迅雷内测,双版本,永久不失效!!! https://mp.weixin.qq.com/ ...

  6. 迅雷游戏盒子下载|迅雷游戏盒子下载

    雷游戏盒子正是这样一位能够解决你以上全部烦恼的游戏助手,轻松多开游戏.便捷管理小号.一键修复故障,为你游戏提供全程辅助!而且,永久免费! 迅雷游戏盒子下载链接 迅雷游戏盒子是迅雷推出的一款游戏盒子,内 ...

  7. 精约而不简单 极速迅雷只为下载而生

    信任许多雷友吐槽过迅雷7客户端的广告影响体会的疑问.用户想免费又想商品无广告体会好是能够了解的,但正如鱼与熊掌不能兼得,广告是软件收入的来历,事实上如QQ等声称完美体会的互联网商品也不能免俗.但近来迅 ...

  8. 迅雷极速版下载被迅雷屏蔽资源

    迅雷极速版下载被迅雷屏蔽资源 标签(空格分隔): 随笔 由于有些资源被迅雷屏蔽,下载时会提示"应版权方要求"之类的错误提示,可以通过修改hosts来绕过屏蔽: 127.0.0.1 ...

  9. php 生成迅雷地址,php实现把url转换迅雷thunder资源下载地址的方法,_PHP教程

    php实现把url转换迅雷thunder资源下载地址的方法, 本文实例讲述了php实现把url转换迅雷thunder资源下载地址的方法.分享给大家供大家参考.具体方法分析如下: 如果你知道迅雷地址的生 ...

最新文章

  1. 数组运用_1-19 编程练习
  2. 【原创】数据库中时间字段的值读取到DataSet中后,毫秒部分丢失。
  3. Python_管理项目
  4. vi/vim多行注释和取消注释
  5. c# 线向量生成多边形_python脚本实现abaqus前处理2D多晶粒建模(附完整源码)-Voronoi多边形的生成...
  6. ssh(Spring+Spring mvc+hibernate)——EmpDaoImpl.java
  7. 动态规划求解装箱问题(洛谷P1049题题解,Java语言描述)
  8. NumPy 1.19.3 发布,Python 科学计算包
  9. java抽象类的说明
  10. clickhouse安装使用文档
  11. 【问题】ajax两种传递id值方式的区别
  12. 计算机主机中的硬件组成部分,电脑的硬件组成部分及其作用各是什么
  13. 程序上线【起飞检查清单】-让事故和教训转变为实用的清单
  14. iOS 9适配技巧(更新版)
  15. 数字图像处理第五次作业——频域滤波器
  16. css:图片显示太大怎么办?
  17. 玩银河麒麟操作系统终端,忆国外unix主机上偶遇隔壁同胞
  18. Matlab高光谱遥感数据处理
  19. Centos7.5使用本地iso文件创建本地源,实现安装源中已经打包存在的软件
  20. 用c语言用星号生日快乐,用C语言写个代码,利用空格和符号拼写出生日快乐之类的...

热门文章

  1. Window平台的eclipse连接linux的hadoop集群
  2. 精选经典情歌荟萃26首
  3. Sqlserver取整
  4. 解决方案之Android 国际化资源完美兼容6.0,7.0,8.0
  5. AVFormatContext、AV_read_frame、av_seek_frame
  6. spotify能免费下歌吗_什么是Spotify Duo,它适合您吗?
  7. 音频文件的结构与规范——RIFF和WAVE音频文件格式
  8. MySQL为什么会抖一下
  9. 利用ChitGPT AI大模型生成费马和笛卡尔简介
  10. SQL中的笛卡尔你真的懂吗?