C#调用迅雷的时候 自动模拟点击”下载按钮” 关闭弹出窗口
来源:互联网 发布:软件开发 成都 编辑:程序博客网 时间:2024/04/29 17:01
免费标准下载:http://www.biaozhuns.com/
网上 关于 “不弹出《建立任务》的对话框的方法 在迅雷5.9貌似不适用了” 那么我改了一下网上的“监听方式”来进行模拟点击
#region Dll Import 需要导入的api 声明。 [DllImport("User32.dll", EntryPoint = "FindWindow")] private static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("user32.dll", EntryPoint = "FindWindowEx")] private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow); [DllImport("User32.dll", EntryPoint = "SendMessage")] private static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam); const int WM_GETTEXT = 0x000D; const int WM_SETTEXT = 0x000C; const int WM_CLICK = 0x00F5; #endregion //关消息的方法 private void ClosePopWindow(object obj) { //这些用spy++可以看到 string lpszParentClass = "#32770"; //整个窗口的类名 string lpszParentWindow = "建立新的下载任务"; //窗口标题 string lpszClass_Submit = "Button"; //需要查找的Button的类名 string lpszName_Submit = "立即下载"; //需要查找的Button的标题 IntPtr ParenthWnd = new IntPtr(0); IntPtr EdithWnd = new IntPtr(0); int i = 0; while (true) { //查到窗体,得到整个窗体 ParenthWnd = FindWindow(lpszParentClass, lpszParentWindow); //判断这个窗体是否有效 if (!ParenthWnd.Equals(IntPtr.Zero)) { //得到第一级子窗口 EdithWnd = FindWindowEx(ParenthWnd, new IntPtr(0), "#32770", ""); //Console.WriteLine("第一级-"+EdithWnd.ToString()); //得到Button这个子窗体,并触发它的Click事件 EdithWnd = FindWindowEx(EdithWnd, new IntPtr(0), lpszClass_Submit, lpszName_Submit); //Console.WriteLine("第二级-" + EdithWnd.ToString()); if (!EdithWnd.Equals(IntPtr.Zero)) { SendMessage(EdithWnd, WM_CLICK, (IntPtr)0, "0"); } return; } Thread.Sleep(1000); i++; // Console.WriteLine("第"+i.ToString()+"次检查"); 5秒都没显示出来就推出循环 if (i > 15) { //break; } } } //需要导入如下类库using System.Runtime.InteropServices;using System.Threading;using Microsoft.Win32; //在迅雷提交前添加一个方法ThreadPool.QueueUserWorkItem(new WaitCallback(ClosePopWindow));
下面是网络上的一些方法 也粘贴过来
1.首先导入DLL
添加引用 -> COM -> ThunderAgent 1.0 Type Library(前提是已安装迅雷)
或者C:\Program Files\Thunder Network\Thunder\ComDlls\ThunderAgent_Now.dll(路径可能有所不同)
2.代码:
THUNDERAGENTLib.AgentClass agent = new THUNDERAGENTLib.AgentClass();//创建对象
//添加任务:下载http://www.baidu.com/index.html这个文件至C:\baidu.html,
//没有注释,没有引用,立即开始,从多资源下载,原始资源线程5
agent.AddTask(“http://www.baidu.com/index.html”, “index.html”, “C:\\”, “”, “”, 1, 0, 5);
agent.CommitTasks2(1);//提交
3.修改迅雷配置
此时代码部分完成,但是运行的时候会弹出窗口确认下载。
如果想跳过这个窗口,需要在迅雷里面配置:工具》配置》高级》通过IE右键菜单“使用迅雷下载”添加任务,将这项去掉就可以了
- C#调用迅雷的时候 自动模拟点击”下载按钮” 关闭弹出窗口
- c# 点击关闭按钮弹出确认框
- 自动点击弹出框的“取消”按钮(初始化磁盘时,会弹出这样的窗口)
- java swing中点击按钮后弹出JFrame窗口,关闭弹出的窗口,程序都关了的解决方案
- WinForm 点击按钮打开新窗口的时候关闭原来的窗口
- 点击按钮,弹出一个可关闭的层窗口,网页背景变灰
- 点击按钮,弹出一个可关闭的层窗口,网页背景变灰
- 点击按钮弹出包含表单的窗口
- 弹出窗口自动关闭
- Delphi_Webbrowser中自动点击Alert弹出窗口中的按钮
- 关闭窗口的时候不弹出提示直接关闭
- 自动关闭webBrowser弹出的所有窗口
- 关于弹出消息窗口的自动关闭
- 点击窗口之外的区域将弹出窗口关闭
- vs mfc 点击父窗口的按钮,弹出子窗口
- VS2010 MFC点击父窗口的按钮,弹出子窗口
- vs mfc 点击父窗口的按钮,弹出子窗口
- ANdroid 模拟自动的点击按钮
- iphone ios 模式视图 model view切换
- 文字跑马灯HTML代码解析
- 第十二章 4 文件操作
- struts2.0中struts.xml配置文件详解
- 再一篇深拷贝、浅拷贝
- C#调用迅雷的时候 自动模拟点击”下载按钮” 关闭弹出窗口
- eclipse整合Struts2+Spring 2.5+Hibernate3.2
- 隐蔽的内存泄漏——pthread_create 属性设置不当导致
- 教出一个优秀的女儿
- c++中的overload(重载)、override(覆盖)和隐藏
- 读取/输出 CSV文件
- iPhone应用程序使用的设计模式
- 几种常用的显示程序进度的小方法
- C字符串和标准的C++string类