ginneylover 发表于 2011-10-24 21:14:26

迅雷下载完成后自动退出

网上有一些方法,如用bat,vbs等,但不能支持多任务,有找到了可以支持多任务的,http://soft.cfan.com.cn/office/201110/07/1317986792d26172.shtml,可惜不支持迅雷7,希望那位大侠写一个,造福万民啊,多谢了

user3000 发表于 2011-10-25 00:02:25

本帖最后由 user3000 于 2011-10-25 12:58 编辑

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


已经写了.
为了方便他人,另开了新帖,
请移步至:
http://www.autoitx.com/thread-28313-1-1.html

lynfr8 发表于 2011-10-25 01:48:18

;先打开迅雷并开始下载再运行此代码
$memstart = 0
While 1
Sleep(10000);监控时间自己调整吧
Local $mem = ProcessGetStats('Thunder.exe',1)       
If $mem <> $memstart Then
$memstart=$mem
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

ginneylover 发表于 2011-10-25 08:13:02

本帖最后由 ginneylover 于 2011-10-25 08:15 编辑

回复 3# lynfr8


      多谢,希望有你说得更完美的出现
此外,这样会不会存在某段时间,如果断网了或者下载毫无速度就会自动断开迅雷啊?
另外一个问题,直接终止迅雷的进程,在托盘处还有图标,需要鼠标扫一下才能消失,不知道坛友有什么解决方法吗?

happytc 发表于 2011-10-25 08:34:58

回复 1# ginneylover


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

若大家都用这样的方法,可能都会下载到90%时,基本就没有下载源了。

user3000 发表于 2011-10-25 12:50:08

本帖最后由 user3000 于 2011-10-25 12:57 编辑

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

为了方便他人,另开了新帖,
请移步至:
http://www.autoitx.com/thread-28313-1-1.html

heilulu 发表于 2011-10-26 16:36:41

多谢分享了。
页: [1]
查看完整版本: 迅雷下载完成后自动退出