有时候我们需要调用现成的下载工具来下载,那么这些下载工具一般都是通过COM接口来操作的。

至于如何知道这些com接口,自己找一下他们安装后的目录下的html文件就可以发现了。

如何使用c#调用com是我们的重点。

如下所示:

public static void DownloadByQQ(string url)
      {
          Type qqdown;//类型
          object qqdowobj;//一个对象
          object[] parameter = new object[6];//参数,因为我们调用的方法有6和参数。 所以定义了6个
          if (url  != null && url.Length >0)
          {
              qqdown = Type.GetTypeFromProgID("QQIEHelper.QQRightClick.2");//从progid创建类型
              qqdowobj = Activator.CreateInstance(qqdown);//然后创建实例
              parameter[0] = url;//第一个参数是url
              parameter[1] = url ;//第二个参数是引用url,这里我们填成一样的
              parameter[2] = "www.mp3114.cn";//注释信息
              parameter[3] = null;
              parameter[4] = 0;
              parameter[5] = null;
              qqdown.InvokeMember("sendUrl2", BindingFlags.InvokeMethod, null, qqdowobj, parameter);//使用invokemember调用方法

//BindingFlags 中有很多枚举,分别是用于调用方法或者属性的设置 获取等绑定标记。 你可以参考一下msdn
          }
      }

//看到这里你也许已经明白如何做了。 如果还不明白呢。 接着看一遍。 或者把代码贴到程序里单步调试一遍就自然明白啦。
      public static void DownloadByThunder(string url)
      {
          Type  ThunderAgent;// = new ActiveXObject("ThunderAgent.Agent");
          object objThunderAgent;
          object[] parameter = new object[14];
          if (url != null && url.Length > 0)
          {
              ThunderAgent = Type.GetTypeFromProgID("ThunderAgent.Agent");
              objThunderAgent = Activator.CreateInstance(ThunderAgent);
              parameter[0] = url;
              parameter[1] = "";
              parameter[2] = "";
              parameter[3] = "www.mp3114.cn";
              parameter[4] = url ;
              parameter[5] = -1;
              parameter[6] = 0;
              parameter[7] = -1;
              parameter[8] = "";//strCookie
              parameter[9] = "";
              parameter[10] = "";
              parameter[11] = 1;
              parameter[12] = "";
              parameter[13] = -1;
              ThunderAgent.InvokeMember("AddTask5", BindingFlags.InvokeMethod, null, objThunderAgent, parameter);
             // ThunderAgent.AddTask5(Url, "", "", Info, Location, -1, 0, -1, strCookie, "", "", 1, "", -1);
              object[] parm = new object[1];
              parm[0] = 1;
              ThunderAgent.InvokeMember("CommitTasks2", BindingFlags.InvokeMethod, null, objThunderAgent, parm);
          }
      }
      public static void DownloadByFlashGet(string url)
      {
          Type FlashGet;
          object objFlashGet;
          object[] parameter = new object[5];
          if (url != null && url.Length > 0)
          {
              FlashGet = Type.GetTypeFromProgID("BHO.IFlashGetNetscapeEx");
              objFlashGet = Activator.CreateInstance(FlashGet);
              parameter[0] = url;
              parameter[1] = "www.mp3114.cn";
              parameter[2] = url;
              parameter[3] = "FlashGet";
              parameter[4] = 0;
              FlashGet.InvokeMember("AddUrlEx", BindingFlags.InvokeMethod, null, objFlashGet, parameter);
          }
      }

转载于:https://www.cnblogs.com/MysticBoy/articles/1255181.html

使用C#调用旋风快车和迅雷下载文件 也是C#调用Com的好例子!相关推荐

  1. 一行代码实现python调用迅雷下载文件 悄悄的帮你下载你想要的

    一行代码实现python调用迅雷下载文件 前言 解决思路 代码 前言 这几天发现有有一些网站把他们资源的迅雷链接直接亮出来,总是被反爬技术伤害的我心中突然一喜,我用迅雷下载不碍你事了吧,话不多说,开整 ...

  2. 百度网盘怎么用迅雷下载文件?

    许多用户在使用百度网盘时,都会保存很多的文件,但是有些文件很大,不开通会员下载速度很慢,就有小伙伴想要知道百度网盘怎么用迅雷下载文件?要怎么操作能让百度网盘用迅雷下载呢? 纯净之家-win7纯净版系统 ...

  3. 迅雷下载文件的机制是怎样的?

    迅雷是一款流行的下载工具,它采用了多种机制来加速下载速度和提高下载成功率.下面是一些可能的迅雷下载文件的机制: 多线程下载:迅雷会利用多个线程同时下载同一个文件,从而提高下载速度.每个线程负责下载文件 ...

  4. android下载文件地址,安卓迅雷下载的文件在哪里迅雷下载文件存放位置-独木成林...

    其实一般播放器都会有显示下载文件的默认路径的.按照路径提供的位置在手机文件管理器就很容易能找到,像手机迅雷的默认保存路径是在手机存储卡的 "ThunderDownload"文件夹下 ...

  5. java使用HttpClient调用rest接口上传下载文件

    最近接到了做在线文档编辑的需求,普通的rpc接口比如dubbo或者spring cloud的feign对文件流操作支持并不太好,所以用原生的httpClient先写一个出来. 上传文件 // uplo ...

  6. Android——通过包名唤醒app,通过链接唤醒迅雷下载文件。

    1.通过包名唤醒app 前提是你已经知道包名,至于怎么获取包名,可以到存储文件里面找,懒人可以给一个查看包名的app:[查看包名app](http://www.5577.com/s/105161.ht ...

  7. 按键精灵调用迅雷下载文件

    Set ThunderAgent = CreateObject("ThunderAgent.Agent")         '建立迅雷接口对象 ThunderAgent.AddTa ...

  8. 网页调用迅雷下载文件

    下面是设置迅雷专用下载链接的JAV代码 Javascript代码: 1 <!-- JavaScript专用链代码 --> 2 3 <script src="http://p ...

  9. java web pdf迅雷下载文件_javaWeb实现文件上传及下载.pdf

    jjaavvaaWWeebb实实现现文文件件上上传传与与下下载载 文件上传概述 实现web开发中的文件上传功能,需完成如下二步操作: 在web页面中添加上传输入项 在servlet 中读取上传文件的数 ...

最新文章

  1. JDK5.0环境下配置PKCS#11
  2. 关于C语言goto的使用
  3. [Flink] Flink的应用场景
  4. python pil怎么调用_python3如何使用pil
  5. Hadoop只输出Key不输出Value的小技巧‏
  6. Android JNI
  7. 运放输入偏置电流方向_运算放大器的输入偏置电流
  8. PLC可编程控制器概述
  9. Win11自动关机设置在哪?Win11设置自动关机的两种方法
  10. 深入了解ElasticSearch的Nested数据类型
  11. openGL之API学习(五十五)凹凸贴图技术
  12. zte android截屏快捷键,中兴红牛V5手机怎么截屏 中兴红牛V5截图技巧图解
  13. 【转载】ENDNOTE使用方法,常用!
  14. 梦幻西游新区服务器维护,梦幻西游2月新区2018 2月新开服务器介绍
  15. libevent的使用流程
  16. ios开发学习中遇到问题[LayoutConstraints] Unable to simultaneously satisfy constraints.的解决方法
  17. 红色石头十八岁的天空主题曲铃声 红色石头十八岁的天空主题曲...
  18. 电脑自带字体包的文件夹位置
  19. 区块链隐私保护:MimbleWimble 和 Grin 简介
  20. SaaS开发的敏捷之道 —— 专访用友伟库网开发经理

热门文章

  1. HTML5实现彩色渐变字
  2. Matlab直接求贝塞尔函数的导函数
  3. pandas 三大利器 map, apply, applymap的通俗理解
  4. C++中读取文件ifstream、ofstream
  5. C语言教程(三)-if和循环
  6. (更新时间)2021年3月21日 python基础知识(函数的返回值)
  7. python基础-列表(7)
  8. 2021 ICPC 江西省大学生程序设计竞赛(正式赛)
  9. 小白入手嵌入式的一点入门建议
  10. QML学习十九:ttf字体库使用