我使用IDownloader接口和URLDownloadToFile方法制作了IE的自定义下载程序。 但 URLDownloadToFile返回0x80004004错误代码。 我想知道!源代码有什么问题?
STDMETHODIMP CDownloader::Download(IMoniker* pmk,
IBindCtx* pbc,
DWORD dwBindVerb,
LONG grfBINDF,
BINDINFO* pBindInfo,
LPCOLESTR pszHeaders,
LPCOLESTR pszRedir,
UINT uiCP )
{
LPOLESTR sDisplayName;
pmk->GetDisplayName(NULL, NULL, &sDisplayName);
HRESULT hr = URLDownloadToFile(NULL, sDisplayName, L"C:\\downloaded.exe", 0, NULL);
return S_OK;
}
答案 0 :(得分:2)
这是E_ABORT的错误代码,因此看起来您的下载操作已中止
来自MSDN:
“可以通过从任何回调中返回E_ABORT来取消下载操作”
但由于你的回调是NULL,它可能是由其他一些问题引起的。
答案 1 :(得分:2)
我解决了。
Internet Explorer上的COM对象必须在IE模板文件夹中创建文件。因为IE保护模式。