如果VB 6.0中的带宽有限,则URLDownloadToFile会停止

时间:2012-03-20 06:26:30

标签: winapi vb6

我正在使用URLDownloadToFile在VB 6.0中从Internet下载文件。

问题是,如果我限制网络带宽,我的应用程序会在开始下载时停止。

我正在使用回调来检查下载和超时的进度,但是当我的应用程序暂停我的回调方法时甚至不会触发。

我还使用VB计时器来检查下载进度,但是如果我的应用程序处于暂停状态,这个计时器也不会被触发。

如果服务器没有响应,我想中止下载,请建议我解决此问题的任何解决方案。

修改

我已经在VB中使用AsyncRead解决了这个问题,AsyncRead在VB中原生可用并且可以解决这些问题,以下链接可能对您有帮助。

http://visualstudiomagazine.com/articles/2008/03/27/simple-asynchronous-downloads.aspx

1 个答案:

答案 0 :(得分:1)

VB 6不支持多线程; VB 6单元螺纹对象和程序仅限于在STA(单线程单元)中执行。这意味着你的exe可以根据需要调整尽可能多的线程,但公寓中一次只能执行一个线程(没有并发执行)。

您可以创建VB.Net包装器COM可见类,并在单独的线程中进行文件下载。