• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 如何实现异步的URLDownloadToCacheFile功能?

如何实现异步的URLDownloadToCacheFile功能?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了三相异步电动机功能,多功能异步显示屏软件,多功能异步显示屏,多功能异步控制系统,三相异步电机功能等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 如何实现异步的URLDownloadToCacheFile功能?
描述:

我的程序是嵌入网页的一个OCX,程序有一个功能是将当前网页所在服务器上的某项资源下载到本地临时文件并打开。这样我需要的下载例程需要实现这样的功能:
  1.能够通过一个相对路径定位服务器上资源,即不一定需要提供完整的URL,比如这样的路径"/setup.exe"也能被接受。
  2.自动辨别服务器资源的MIME类别并选择合适的本地临时文件扩展名,比如我传入一个下载路径为/content.asp,下载完成后本地临时文件的扩展名应该为.htm,这样我才可能通过ShellExecute直接打开这个文件。
  3.在下载过程中应该有适当的进度提示,并可被用户取消。
  我发现只要将当前控件的IUnknown接口作为一个参数来调用URLDownloadToCacheFile函数,1、2 两个功能都可以完美的实现,而通过IBindStatusCallback回调我也可以获取下载进度信息及取消下载。
  唯一的致命问题是URLDownloadToCacheFile会等待下载过程结束后返回,这样由于界面线程被阻塞,IE窗口在下载过程中总是处于“没有响应”状态。
  我想到过如果新开一个工作线程中并在其中调用URLDownloadToCacheFile或许能够解决问题,作了尝试以后发现在新线程中URLDownloadToCacheFile的表现非常不同:一是再也无法识别相对路径,二是似乎无法通过MIME类别判断资源内容了——在碰到这样的URL http://xx/t.asp?xxxxx=xx 就会出错
  我如何才能解决我的问题?


解决方案1:

1.如果服务器禁止目录浏览就不可能实现,一般http的都不允许这样的
 
看了看后面的要求,这个函数有一个callback可以实现进度显示,一般作下载用这个能行吗?你的任务不是特别大还是用CInternetSession类的算了

解决方案2:

帮你up


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何实现异步的URLDownloadToCacheFile功能?
  • 如何实现异步的URLDownloadToCacheFile功能?

相关文章

  • 2017-06-05 复制文件从D盘到C盘,那么这个文件是否会经过内存作为中转站?
  • 2017-06-05 DLL中的warning,就是弄不掉,高手请帮忙~
  • 2017-06-05 PB调用VC编写的DLL的问题,感觉很难!
  • 2017-06-04 ALT写的NT服务
  • 2017-06-04 CoCreateInstance和CoCreateInstanceEx的区别??
  • 2017-06-05 VC/C++/MFC只有CLASS属性的元素如何模拟点击
  • 2017-06-04 请教:做ActiveX控件的时候,有种方法把数据写入注册表,请帮忙!
  • 2017-06-04 版主,为什么我在这个版发的帖子自己都看不见的???
  • 2017-06-05 什么语言可以调用vcmfcdll导出类函数
  • 2017-06-05 ATL怎么在IE里面嵌入一个进度条呢

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • IE9、IE10环境下的WebBrowser比较诡异
    • activeX控件的问题(图片)
    • COM初始化出错!
    • 命名空间扩展Namespaceextension问题
    • 98下如何实现类似OpenTread函数的功能?
    • 在OCX中的弹出菜单为什么会变灰??
    • _beginthreadex与CreateThread有什么区别?
    • 请给我一个用Dispatch接口的Invoke方法取属性值的例子
    • 函数的首地址就是函数的名字,那如何知道函数的末地址?也就是说我想求函数体的大小该怎么办?
    • VC调用JavaScript问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有