ripple361 发表于 2020-3-26 09:42

python调用IDM问题

本帖最后由 ripple361 于 2020-3-26 12:17 编辑







昨晚测试idm下载还没问题,今天就出奇怪的问题了
1.调用库call之后的调用顺序我都截屏了
2._wait方法不知道为什么没法用ctrl跳转过去
3.通过调试,发现卡死在断点处:result = winapi.WaitForSingleObject(self.handle, timeout_millis)


call()
昨晚执行该语句的时候
    命令任务正常进行,idm下载队列里添加了任务,而且call方法返回值为0
现在执行上述语句:
    命令任务其实也完成了,idm下载队列里添加了任务,但必须等待我把IDM手动退出才能退出等待,返回值为1
    继续执行,也能完成任务,依然卡在等待处

--------------------------------补充-----------------------------------
不知道是不是IDM的bug,查了下关于WaitForSingleObject的帖子,意思好像是只要调用的程序有产生信号就能退出等待
我手动退出肯定会发生信号,而添加队列可能并没有发出信号,但昨晚测试没问题,很奇怪


---------------------------------2020.3.26.11:30更新-----------------------------------
解决了,重新绿化了一下IDM = =,顺便跟进了下版本
看来我得找找Aria2的demo了

--------------------------------2020.3.26.12:10更新----------------------------------
也不知道什么原因,又不行了{:301_971:}

--------------------------------2020.3.26.12:16更新----------------------------------
通过测试,问题大概出在IDM调用上面
必须要先打开IDM再调用,否则就会出现问题

Virgo之最 发表于 2020-3-29 00:07

aira2 rpc 不香么

然而进程等待 不就是进程没有结束么.
看看IDM帮助文档
您可以从命令行中使用命令行参数开始下载

您可以使用下列命令行参数启动 IDM

idman /s
或 idman /d URL

参数:
/d URL - 下载一个文件
         例如: IDMan.exe /d "http://www.internetdownloadmanager.com/path/File Name.zip"
/s - 开始任务调度里的队列
/p 本地_路径 - 定义要保存的文件放在哪个本地路径
/f   本地_文件_名 - 定义要保存的文件到本地的文件名
/q - IDM 将在成功下载之后退出。这个参数只为第一个副本工作
/h - IDM 将在成功下载之后挂起您的连接
/n - 当不要 IDM 询问任何问题时启用安静模式
/a - 添加一个指定的文件 用 /d 到下载队列,但是不能开始下载

参数 /a, /h, /n, /q, /f 本地_文件_名,/p 本地_路径工作只在您指定文件下载 /d URL

例如:

C:\>idman.exe /n /d http://www.tonec.com/download/idman317.exe

ripple361 发表于 2020-3-29 00:35

Virgo之最 发表于 2020-3-29 00:07
aira2 rpc 不香么

然而进程等待 不就是进程没有结束么.


嗐,这不是平时IDM用习惯了
帮助文档看过的,我调用的命令也是没问题的
问题仅出在先后顺序上,先打开IDM再py调用就是没问题的
{:301_1004:}
页: [1]
查看完整版本: python调用IDM问题