免费标准下载: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右键菜单“使用迅雷下载”添加任务,将这项去掉就可以了