找回密码
 加入
搜索
查看: 3439|回复: 6

[网络通信] 迅雷下载完成后自动退出

  [复制链接]
发表于 2011-10-24 21:14:26 | 显示全部楼层 |阅读模式
网上有一些方法,如用bat,vbs等,但不能支持多任务,有找到了可以支持多任务的,http://soft.cfan.com.cn/office/201110/07/1317986792d26172.shtml,可惜不支持迅雷7,希望那位大侠写一个,造福万民啊,多谢了
发表于 2011-10-25 00:02:25 | 显示全部楼层
本帖最后由 user3000 于 2011-10-25 12:58 编辑

无聊中查询了下相关信息,必中已有个大概
但是夜了,先休息,明天再写出来了!


已经写了.
为了方便他人,另开了新帖,
请移步至:
http://www.autoitx.com/thread-28313-1-1.html
发表于 2011-10-25 01:48:18 | 显示全部楼层
;先打开迅雷并开始下载再运行此代码
$memstart = 0
While 1
Sleep(10000);监控时间自己调整吧
Local $mem = ProcessGetStats('Thunder.exe',1)        
If $mem[4] <> $memstart Then 
$memstart=$mem[4]
Else
MsgBox(0,0,'下载停止啦!')
;ProcessClose('Thunder.exe')
EndIf
WEnd
原理:监控迅雷进程IO信息---写入字节数,发现停止写入则终止迅雷

其他思路:
1.如果下载文件都是放在同一个目录的话,直接监控此文件夹文件列表,因为迅雷下载文件的开始会自动生成扩展名分别为"td"和"cfg"的文件,当全部下载完成此两个后缀名的文件会消失。但有个问题就是,可能之前有些下载任务手动终止了,这样就会给判断带来误差了,所以不是很好的方法
2.如果下载文件是不同目录的,可以监控进程读写哪些文件并获取读写文件的路径,然后在通过以上方法判断,这种方法应该是最佳解决方法了,不过我不知道怎么获取进程在创建和读写文件的路径(类似Process Monitor),希望有能力的坛友能探讨下这个问题
3.通过迅雷的开放接口直接操作迅雷界面获取下载列表数据或标记,这个嘛更复杂了,有能力的研究下:http://xldoc.xl7.xunlei.com/0000000024/index.html
 楼主| 发表于 2011-10-25 08:13:02 | 显示全部楼层
本帖最后由 ginneylover 于 2011-10-25 08:15 编辑

回复 3# lynfr8


        多谢,希望有你说得更完美的出现
此外,这样会不会存在某段时间,如果断网了或者下载毫无速度就会自动断开迅雷啊?
另外一个问题,直接终止迅雷的进程,在托盘处还有图标,需要鼠标扫一下才能消失,不知道坛友有什么解决方法吗?
发表于 2011-10-25 08:34:58 | 显示全部楼层
回复 1# ginneylover


    不支持这种只想利己,不想上传共享的。

若大家都用这样的方法,可能都会下载到90%时,基本就没有下载源了。
发表于 2011-10-25 12:50:08 | 显示全部楼层
本帖最后由 user3000 于 2011-10-25 12:57 编辑

可以这样:
直接监控迅雷7的任务数据库!
如果不再存在 正在下载的 或 处于下载候选队列中的 任务, 就关闭迅雷!

为了方便他人,另开了新帖,
请移步至:
http://www.autoitx.com/thread-28313-1-1.html
发表于 2011-10-26 16:36:41 | 显示全部楼层
多谢分享了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-17 13:00 , Processed in 0.078503 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表