实现自定义的下载
来源:互联网 发布:python编程用什么软件 编辑:程序博客网 时间:2024/05/01 12:36
实现自定义的下载
从IE5.5开始,IE允许用户自定义下载。这个功能允许你通过实现一个COM对象来处理文件下载过程和自定义用户界面,以此来扩展IE或浏览器程序的功能。
要实现自定义的下载,必需创建一个支持IDownloadManager接口的COM对象,IDownloadManager接口仅有一个方法:IDownloadManager::Download该方法在IE或浏览器程序要下载文件时调用。
有两种方法可以让IE或浏览器程序访问IDownloadManager接口:
1、实现IServiceProvider接口,浏览器程序通过调用IServiceProvider::QueryService方法来得到IDownloadManager指针,可以参考下面QueryService方法实现的例子:
STDMETHODIMP CServiceProvider::QueryService(REFGUID guidService,
REFIID riid,
void **ppv)
{
HRESULT hr = E_NOINTERFACE;
if (guidService == SID_SDownloadManager && riid== IID_IDownloadManager)
{
// Create new CDownloadMgr object using ATL.
CComObject<CDownloadMgr>* pDownloadMgr;
hr = CComObject<CDownloadMgr>::CreateInstance(&pDownloadMgr);
// Query the new CDownloadMgr object for IDownloadManager interface.
hr = pDownloadMgr->QueryInterface(IID_IDownloadManager, ppv);
}
return hr;
}
2、对于IE6或更高版本,IE或浏览器程序通过检查HKEY_CURRENT_USER或者HKEY_LOCAL_MACHINE的/Software/Microsoft/Internet Explorer/Downlo-
adUI键下是否存在包含下载管理对象的CLSID的子键。
IDownloadManager::Download
HRESULT Download(IMoniker *pmk,
IBindCtx *pbc,
DWORD dwBindVerb,
LONG grfBINDF,
BINDINFO *pBindInfo,
LPCOLESTR pszHeaders,
LPCOLESTR pszRedir,
UINT uiCP
)
{
CComBSTR bsUrl ;
pmk->GetDisplayName( pbc , NULL , &bsUrl ) ;
// 下载url
return S_OK ;
}
- 实现自定义的下载
- 自定义下载的封装实现
- js实现文件下载自定义下载路径
- js实现文件下载自定义下载路径
- 使文件下载的自定义连接支持 FlashGet 的断点续传多线程链接下载! JSP/Servlet 实现!
- 使文件下载的自定义连接支持 FlashGet 的断点续传多线程链接下载! JSP/Servlet 实现!
- 如何实现一个自定义下载管理器
- 自定义view实现下载进度button
- VUE axios 实现自定义下载功能
- Swing实现文件自定义下载路劲
- android自定义Dialog实现文件下载和下载进度
- 使文件下载的自定义连接支持 FlashGet 的断点续传多线程链接下载! C#/ASP.Net 实现!
- 使文件下载的自定义连接支持 FlashGet 的断点续传多线程链接下载! C#/ASP.Net 实现
- 使文件下载的自定义连接支持 FlashGet 的断点续传多线程链接下载! C#/ASP.Net 实现!
- ListView通过自定义的Adapter实现异步下载显示网络图片
- 下载对话框的实现
- 文件下载的实现
- 下载功能的实现
- 设计素材
- 在ASP.NET(C#)中使用Oralce Object For OLE 2.3连接Oracle 8.0.5数据库!
- 连接SQLServer数据库
- 在.Net里用OWC11画统计图
- Three Ways to Inject Your Code into Another Process
- 实现自定义的下载
- [转帖]XML轻松学习手册
- Java中调用外部命令
- CVS-个人Q&A记录
- 考研 态度 误区
- 【转载】JAVA代码编写的30条建议
- 让Media Player支持RM文件
- Java内存泄露问题分析
- 在线等回答