在博客《 windows客户端开发–根据可下载url另存为文件》 中,我们介绍了一个windows api, URLDownloadToFile
今天我们就要实现的是使用URLDownloadToFile下载文件,并显示进度条。
基础知识
认真看一看URLDownloadToFile的参数:
URLDownloadToFile
HRESULT URLDownloadToFile(
LPUNKNOWN pCaller,
LPCTSTR szURL,
LPCTSTR szFileName,
_Reserved_ DWORD dwReserved,
LPBINDSTATUSCALLBACK lpfnCB
);
pCaller
If the calling application is not an ActiveX component, this value can be set to NULL.
我们可以设为NULL
szURL
A pointer to a string value that contains the URL to download.
我们要下载的URL
szFileName
A pointer to a string value containing the name or full path of the file to create for the download.
存储的文件名
dwReserved
Reserved. Must be set to 0.
必须为NULL
lpfnCB
A pointer to the IBindStatusCallback interface of the caller. By using IBindStatusCallback::OnProgress, a caller can receive download status. URLDownloadToFile calls the IBindStatusCallback::OnProgress and IBindStatusCallback::OnDataAvailable methods as data is received.
这个参数是我们关注的重点!!!!!
接下来我们就看看IBindStatusCallback 的定义以及描述:
IBindStatusCallback
The IB