TC官方合作论坛
标题:
求高手指点,能用dllcall+Urlmon或winInet写出HTTP下载.exe文件吗?
[打印本页]
作者:
hantianxue
时间:
2018-7-6 01:46
标题:
求高手指点,能用dllcall+Urlmon或winInet写出HTTP下载.exe文件吗?
本帖最后由 hantianxue 于 2018-7-6 20:40 编辑
在做一个实例,因为是从国外网站下载文件,库中自带的HTTP下载,有点太慢了,而且也无法获取当前的下载进度,速度之类的数据。
虽然还有插件可以选择,但是本着学习和提高的目的不选择使用插件。
所以在想能不能用
dllcall
配合
Urlmon.dll
自写一个能显示状态的下载功能。
但是搞不明白如何调用
IBindStatusCallback
中
的函数。
如果TC无法正确的调用
IBindStatusCallback
的话,
能否用
dllcall
配合
winInet.dll
写下载呢,
在我自己的尝试中发现无法解决的问题是:
InternetReadFile
获取到的是
buffer数据,
如果下载的是txt文件还好说,如果是其他类型的比如exe文件,
如何吧
buffer数据
保存为正确的本地文件呢?
有大神可以指点一下吗?
有参考源码最好,感激不尽。
作者:
chen1882729
时间:
2018-7-6 10:04
本帖最后由 chen1882729 于 2018-7-6 10:06 编辑
365插件可以显示下载速度,可以断点下载
支持获取:
支持断点续传
异步下载
文件
总大小
已加载大小
下载速度
下载状态
下
载进度
下载时间
预计完成时间
http://bbs.tyuyan.net/forum.php?mod=viewthread&tid=23726
作者:
hantianxue
时间:
2018-7-6 20:29
chen1882729 发表于 2018-7-6 10:04
365插件可以显示下载速度,可以断点下载
感谢回复,关于365插件。
我的实例之前就是在使用365插件,虽然它很好的解决了状态获取,
但是极少数的用户出现了问题,
在过程中并没有在正确的路径生成文件,
而是在软件的工作路径下生成了名为:translate3d(99.9999999999999%,0,0) 之类的文件,
每次下载生成的文件名只是后面的数字不同,
因为是插件不知道具体源码,所以无法解决这个错误,
所以目前还是考虑自己写一个下载功能。
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1