1[转]迅雷组件在做抓取的时候,不知道什么原因,无法直接抓到,于是想到调用迅雷下载,这个是网站上找的,没想到还很好用,我只是使用了简单的下载文件功能。
  2[转]迅雷组件
  3[转]迅雷组件【导读】本文详细讲解了使用VB.NET编程来调用讯雷下载文件的过程和步骤。内容包括:创建讯雷调用对象、使用讯雷调用对象查询下载任务信息、迅雷平台接口函数定义等。
  4[转]迅雷组件
  5[转]迅雷组件  
  6[转]迅雷组件首先确保电脑已经安装讯雷,打开VS.NET 点击菜单:项目->添加引用->COM->添加对ThunderAgent 1.0 Type Library的引用。
  7[转]迅雷组件
  8[转]迅雷组件1.创建讯雷调用对象
  9[转]迅雷组件
 10[转]迅雷组件Private ThunderEng As New THUNDERAGENTLib.Agent'创建讯雷调用对象
 11[转]迅雷组件
 12[转]迅雷组件
 13[转]迅雷组件
 14[转]迅雷组件ThunderEng.AddTask("下载地址""另存文件名""保存目录","任务注释","引用地址","开始模式""只从原始地址下载","从原始地址下载线程数"'添加下载任务
 15[转]迅雷组件
 16[转]迅雷组件
 17[转]迅雷组件
 18[转]迅雷组件ThunderEng.CommitTasks()'提交下载任务
 19[转]迅雷组件
 20[转]迅雷组件
 21[转]迅雷组件
 22[转]迅雷组件2.使用讯雷调用对象查询下载任务信息
 23[转]迅雷组件
 24[转]迅雷组件sFileSize = ThunderEng.GetTaskInfo(txtURL.Text, "FileSize")'获取下载文件大小
 25[转]迅雷组件
 26[转]迅雷组件sDownedSize = ThunderEng.GetTaskInfo(txtURL.Text, "CompletedSize")'获取已完成大小
 27[转]迅雷组件
 28[转]迅雷组件sFileName = ThunderEng.GetTaskInfo(txtURL.Text, "FileName")'获取文件名
 29[转]迅雷组件
 30[转]迅雷组件二、迅雷平台接口函数定义 
 31[转]迅雷组件
 32[转]迅雷组件获得信息 
 33[转]迅雷组件
 34[转]迅雷组件1. BSTR GetInfo(BSTR pInfoName) 
 35[转]迅雷组件
 36[转]迅雷组件功能:获得迅雷或平台相关信息 
 37[转]迅雷组件
 38[转]迅雷组件参数: 
 39[转]迅雷组件
 40[转]迅雷组件参数名 含义 
 41[转]迅雷组件pInfoName 信息名称,有如下4种 
 42[转]迅雷组件
 43[转]迅雷组件◆“ThunderExists”:迅雷是否存在 
 44[转]迅雷组件
 45[转]迅雷组件◆“ThunderRunning”:迅雷是否运行 
 46[转]迅雷组件
 47[转]迅雷组件◆“ThunderVersion”:迅雷版本号 
 48[转]迅雷组件
 49[转]迅雷组件◆“PlatformVersion”:平台版本号  
 50[转]迅雷组件
 51[转]迅雷组件
 52[转]迅雷组件返回值:返回值是字符串与参数pInfoName有对应关系 
 53[转]迅雷组件
 54[转]迅雷组件参数 返回值 
 55[转]迅雷组件“ThunderExists” “true”存在,“false”不存在 
 56[转]迅雷组件“ThunderRunning” “true” 运行中, “false”未运行 
 57[转]迅雷组件“ThunderVersion” 迅雷版本号 “x.x.x.x” 
 58[转]迅雷组件“PlatformVersion” 平台版本号 “x.x.x.x” 
 59[转]迅雷组件
 60[转]迅雷组件
 61[转]迅雷组件2. HRESULT GetInfoStruct(INT pInfo) 
 62[转]迅雷组件
 63[转]迅雷组件功能:获取迅雷或平台相关全部信息 
 64[转]迅雷组件
 65[转]迅雷组件参数: 
 66[转]迅雷组件
 67[转]迅雷组件参数名 含义 
 68[转]迅雷组件pInfo 其实是THUNDER_INFO类型的结构指针,调用前把它转换为INT类型;调用后结构中将填充平台信息,定义如下: 
 69[转]迅雷组件
 70[转]迅雷组件typedef struct _THUNDER_INFO 
 71[转]迅雷组件
 72[转]迅雷组件
 73[转]迅雷组件
 74[转]迅雷组件BOOL bThunderExists; 
 75[转]迅雷组件
 76[转]迅雷组件BOOL bThunderRunning; 
 77[转]迅雷组件
 78[转]迅雷组件CHAR szThunderVersion[32]; 
 79[转]迅雷组件
 80[转]迅雷组件CHAR szPlatformVersion[32]; 
 81[转]迅雷组件
 82[转]迅雷组件} THUNDER_INFO; 
 83[转]迅雷组件
 84[转]迅雷组件函数调用后,结构中将填充相应的信息。  
 85[转]迅雷组件
 86[转]迅雷组件
 87[转]迅雷组件返回值: 
 88[转]迅雷组件
 89[转]迅雷组件0 获取成功 
 90[转]迅雷组件非0 获取失败 
 91[转]迅雷组件
 92[转]迅雷组件
 93[转]迅雷组件任务操作 
 94[转]迅雷组件
 95[转]迅雷组件3. 加入任务 
 96[转]迅雷组件
 97[转]迅雷组件HRESULT AddTask 
 98[转]迅雷组件
 99[转]迅雷组件(BSTR pURL, 
100[转]迅雷组件
101[转]迅雷组件BSTR pFileName = ""
102[转]迅雷组件
103[转]迅雷组件BSTR pPath = ""
104[转]迅雷组件
105[转]迅雷组件BSTR pComments = ""
106[转]迅雷组件
107[转]迅雷组件BSTR pReferURL = ""
108[转]迅雷组件
109[转]迅雷组件INT nStartMode = -1
110[转]迅雷组件
111[转]迅雷组件INT nOnlyFromOrigin = 0
112[转]迅雷组件
113[转]迅雷组件INT nOriginThreadCount = -1); 
114[转]迅雷组件
115[转]迅雷组件功能: 
116[转]迅雷组件
117[转]迅雷组件往平台加入下载任务信息,此时尚未体现到迅雷中 
118[转]迅雷组件
119[转]迅雷组件参数: 
120[转]迅雷组件
121[转]迅雷组件
122[转]迅雷组件
123[转]迅雷组件参数名 含义 
124[转]迅雷组件pURL 目标URL,必须参数 
125[转]迅雷组件pFileName 另存名称,默认为空,表示由迅雷处理,可选参数 
126[转]迅雷组件pPath 存储目录,默认为空,表示由迅雷处理,可选参数 
127[转]迅雷组件pComments 下载注释,默认为空,可选参数 
128[转]迅雷组件pReferURL 引用页URL,默认为空,可选参数 
129[转]迅雷组件nStartMode 开始模式,0手工开始,1立即开始,默认为-1,表示由迅雷处理,可选参数 
130[转]迅雷组件nOnlyFromOrigin 是否只从原始URL下载,1只从原始URL下载,0多资源下载,默认为0,可选参数 
131[转]迅雷组件nOriginThreadCount 原始地址下载线程数,范围1-10,默认为-1,表示由迅雷处理,可选参数 
132[转]迅雷组件
133[转]迅雷组件
134[转]迅雷组件
135[转]迅雷组件 
136[转]迅雷组件
137[转]迅雷组件 
138[转]迅雷组件
139[转]迅雷组件4. 开始任务 
140[转]迅雷组件
141[转]迅雷组件
142[转]迅雷组件
143[转]迅雷组件HRESULT CommitTaskss() 
144[转]迅雷组件
145[转]迅雷组件功能: 
146[转]迅雷组件
147[转]迅雷组件把AddTask所加入的下载任务信息真正提交到迅雷中进行下载,并从平台中删除 
148[转]迅雷组件
149[转]迅雷组件注意:如果AddTask添加的任务没有被提交没有被取消(调用CancelTasks),则Agent对象析构时会阻塞,所以调用者不应该残留一些没有被提交或者取消的任务,以避免脚本执行者停止响应。 
150[转]迅雷组件
151[转]迅雷组件5. 取消任务 
152[转]迅雷组件
153[转]迅雷组件HRESULT CancelTasks() 
154[转]迅雷组件
155[转]迅雷组件功能: 
156[转]迅雷组件
157[转]迅雷组件取消平台中所有由AddTask所加入的下载任务信息 
158[转]迅雷组件
159[转]迅雷组件6. 查询任务信息 
160[转]迅雷组件
161[转]迅雷组件BSTR GetTaskInfo(BSTR pURL,BSTR pInfoName); 
162[转]迅雷组件
163[转]迅雷组件参数: 
164[转]迅雷组件
165[转]迅雷组件
166[转]迅雷组件
167[转]迅雷组件参数名 含义 
168[转]迅雷组件pURL 所要查询的下载URL信息 
169[转]迅雷组件pInfoName 状态名称,有如下几种 
170[转]迅雷组件
171[转]迅雷组件◆“Exists”:pURL是否在迅雷的任务列表 
172[转]迅雷组件
173[转]迅雷组件◆“Path”:存储目录 
174[转]迅雷组件
175[转]迅雷组件◆“FileName”:文件名称 
176[转]迅雷组件
177[转]迅雷组件◆“FileSize”:文件大小 
178[转]迅雷组件
179[转]迅雷组件◆“CompletedSize”:已下载大小 
180[转]迅雷组件
181[转]迅雷组件◆“Percent”:下载进度 
182[转]迅雷组件
183[转]迅雷组件◆“Status”:任务状态  
184[转]迅雷组件
185[转]迅雷组件
186[转]迅雷组件
187[转]迅雷组件
188[转]迅雷组件返回值: 返回值是字符串与参数pInfoName有对应关系 
189[转]迅雷组件
190[转]迅雷组件
191[转]迅雷组件
192[转]迅雷组件参数 返回值 
193[转]迅雷组件“Exists” ”true”存在,”false”不存在 
194[转]迅雷组件“Path” 存储目录,最后带反斜线\,例:C:\TDDownload\ 
195[转]迅雷组件“FileName” 文件名称 
196[转]迅雷组件“FileSize” 文件大小,以字节为单位,0表示大小未知 
197[转]迅雷组件“CompletedSize” 已下载大小,以字节为单位 
198[转]迅雷组件“Percent” 下载进度,带1位小数,例:70.0 
199[转]迅雷组件“Status” 任务状态,有以下6种状态 
200[转]迅雷组件
201[转]迅雷组件。“running”: 运行状态 
202[转]迅雷组件
203[转]迅雷组件。“stopped”: 停止状态 
204[转]迅雷组件
205[转]迅雷组件。“failed”: 失败状态 
206[转]迅雷组件
207[转]迅雷组件。“success”: 成功状态 
208[转]迅雷组件
209[转]迅雷组件。“creatingfile”:正在创建数据文件 
210[转]迅雷组件
211[转]迅雷组件。“connecting”: 正在连接  
212[转]迅雷组件
213[转]迅雷组件
214[转]迅雷组件
215[转]迅雷组件
216[转]迅雷组件7. GetTaskInfoStruct(INT pTaskInfo) 
217[转]迅雷组件
218[转]迅雷组件功能:查询一个任务的所有信息 
219[转]迅雷组件
220[转]迅雷组件
221[转]迅雷组件
222[转]迅雷组件参数名 含义 
223[转]迅雷组件pTaskInfo 其实是THUNDER_TASKINFO类型的结构指针,调用前把它转换为INT类型;调用后结构中将填充平台信息,定义如下: 
224[转]迅雷组件
225[转]迅雷组件typedef struct _THUNDER_TASKINFO 
226[转]迅雷组件
227[转]迅雷组件
228[转]迅雷组件
229[转]迅雷组件CHAR szURL[1024]; // 任务URL,预先填充 
230[转]迅雷组件
231[转]迅雷组件BOOL bTaskExists; // 任务是否存在,TRUE为存在 
232[转]迅雷组件
233[转]迅雷组件CHAR szPath[256]; // 下载的本地保存路径 
234[转]迅雷组件
235[转]迅雷组件CHAR szFileName[256]; // 本地文件名 
236[转]迅雷组件
237[转]迅雷组件ULONGLONG nFileSize; // 文件大小 
238[转]迅雷组件
239[转]迅雷组件ULONGLONG nCompletedSize; // 已完成的大小 
240[转]迅雷组件
241[转]迅雷组件CHAR szPercent[16]; // 完成的百分数,用 “56.8”的格式 
242[转]迅雷组件
243[转]迅雷组件CHAR szStatus[16]; // 当前状态,定义同GetTaskInfo函数 
244[转]迅雷组件
245[转]迅雷组件} THUNDER_TASKINFO; 
246[转]迅雷组件
247[转]迅雷组件调用者先填充结构中的szURL成员,来指定需要查询的任务的URL,然后等函数返回后就可以从其他成员中取得该任务的信息。  
248[转]迅雷组件
249[转]迅雷组件
250[转]迅雷组件本例所有代码:
251[转]迅雷组件
252

相关文章:

  • 2021-11-24
  • 2021-12-19
  • 2021-07-30
  • 2022-12-23
  • 2021-11-07
  • 2021-12-19
  • 2021-12-19
  • 2021-09-02
猜你喜欢
  • 2022-01-23
  • 2022-12-23
  • 2021-04-21
  • 2022-12-23
  • 2021-05-02
  • 2021-06-19
  • 2021-05-28
相关资源
相似解决方案