使用C#调用旋风快车和迅雷下载文件 也是C#调用Com的好例子!
有时候我们需要调用现成的下载工具来下载,那么这些下载工具一般都是通过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);
}
}
相关文章
- C#常用 API函数大全[通俗易懂]
- C#实现xlsx文件导出
- 为了避免内存攻击,美国国家安全局提倡Rust、C#、Go、Java、Ruby 和 Swift,但将 C 和 C++ 置于一边
- 比较有效的使用C#读取文件的代码
- c#Base关键字的使用
- C#小程序15位转18位身份证号代码
- asp.netC#实现下载文件的六种方法实例
- C#中读写INI文件的方法例子
- C#词法分析器之构造NFA详解
- C#删除文件目录或文件的解决方法
- c#控件截图的简单实例
- c#生成站点地图(SiteMapPath)文件示例程序
- C#正则表达式分解和转换IP地址实例(C#正则表达式大全c#正则表达式语法)
- c#实现数据同步的方法(使用文件监控对象filesystemwatcher)
- C#实现word文件下载的代码
- c#实现ini文件读写类分享
- C#生成MD5的函数代码
- C#删除文件夹和文件到回收站示例
- C#winfrom模拟ftp文件管理实现代码
- C#Ini文件操作实例
- c#判断指定文件是否存在的简单实现
- c#文件下载示例的4种方法分享
- c#实现metro文件压缩解压示例
- C#同步、异步远程下载文件实例
- C#Page用于各页面继承功能实例
- C#特性-对象集合初始化器介绍
- C#中csv文件与DataTable互相导入处理实例解析
- C#采用HttpWebRequest实现保持会话上传文件到HTTP的方法
- C#中子类调用父类的实现方法