2024年3月16日发(作者:)
Delphi实现文件下载并且显示下载进度
需要用到的API函数名字为 URLDownloadToFile 此函数在UrlMon单元中的声明
如下:
const
UrlMonLib = '';
function URLDownloadToFile; external UrlMonLib name
'URLDownloadToFileA';
function URLDownloadToFile(Caller: IUnknown; URL: PChar; FileName: PChar;
Reserved: DWORD; StatusCB: IBindStatusCallback): HResult; stdcall;
关于其中的参数用意大家可以直接访问
来得到解释(
下面我们将获取该函数的下载进度
实现 IBindStatusCallback 接口即可, 该接口在 UrlMon单元中的具体声明:
IBindStatusCallback = interface
['{79eac9c1-baf9-11ce-8c82-00aa004ba90b}']
function OnStartBinding(dwReserved: DWORD; pib: IBinding): HResult; stdcall;
function GetPriority(out nPriority): HResult; stdcall;
function OnLowResource(reserved: DWORD): HResult; stdcall;
function OnProgress(ulProgress, ulProgressMax, ulStatusCode: ULONG;
szStatusText: LPCWSTR): HResult; stdcall;
function OnStopBinding(hresult: HResult; szError: LPCWSTR): HResult; stdcall;
function GetBindInfo(out grfBINDF: DWORD; var bindinfo: TBindInfo):
HResult; stdcall;
function OnDataAvailable(grfBSCF: DWORD; dwSize: DWORD; formatetc:
PFormatEtc;
stgmed: PStgMedium): HResult; stdcall;


发布评论