今天有个朋友问我VB调用API函数URLDownloadToFile可不可以获取已下载的大小,也就是如何获取下载的进度。
根据MSDN文档,调用函数时要提供第5个参数,即一个指向IBindStatusCallback接口的指针,才能获取下载进度。我对VB也只是略知一二,仅限于与VBS共通的部分,当然不知道用VB怎么实现IBindStatusCallback接口,只好Google了。
Google了半天,总算找到了靠谱点的答案。一篇名为《使用了IBindStatusCallback的URLDownloadToFile函数》的文章,引用如下:
hoho,不好意思搬了一下MSDN。关于这个函数的VB实现,网上已经有很多例子了,不过这些例子都没有使用最后一个参数。近日看到CSDN上有兄弟提问,于是便花了一些时间做了个下载的例子。如果有什么不懂的地方请跟帖…… ^_^
原网站的SEO好像做得不是很好,比较难搜索到(要学会用不同的关键字)。不过代码是很好的,喜欢VB的朋友可以下载来看一下,应该会有所收获。至少对我这样的VB菜鸟而言,里面有好多东西都第一次见过,惭愧。都说VB很简单,但是真正精通的人,又有几个?