加速浏览器控件的创建

我们知道,应用程序中浏览器控件的第一个实例的创建过程比其他的实例创建过程慢得多。为了加速浏览器控件的创建,在应用程序的开始,可以创建一个隐藏的浏览器对象,使得应用程序中随时都至少有一个浏览器控件的实例

在主窗口类中声明 CComPtr<IOleObject> m_spOleObjectPreloadBrowser;
在主窗口类的初始化函数中

HRESULT hr = CoCreateInstance(CLSID_WebBrowser, NULL, CLSCTX_INPROC,
        IID_IOleObject, (void**)&m_spOleObjectPreloadBrowser);
 if (FAILED(hr)){
  TRACE(_T("Can not create WebBrowser/r/n"));
  return FALSE;
 }
 CComQIPtr<IWebBrowser2> pWebBrowser(m_spOleObjectPreloadBrowser);
 if(pWebBrowser){
  CComBSTR bstrURL = _T("about:blank");
  COleSafeArray vPostData;
  pWebBrowser->Navigate(bstrURL,
   COleVariant((long) 0, VT_I4),
   COleVariant(_T(""), VT_BSTR),
   vPostData,
   COleVariant(_T(""), VT_BSTR));
 }
然后在退出时释放

m_spOleObjectPreloadBrowser=NULL;

这样可以大大加快程序中浏览器控件的创建速度。因为IE的动态库都是共享的,所以除了第一个示例之外,多开一个实例多占用的内存并不大。

QQ的广告窗口明显就没有用这个方法来加速……打开的时候慢得要死……

加速浏览器控件的创建相关推荐

  1. 属性浏览器控件QtTreePropertyBrowser编译成动态库(设计师插件)

    文章目录 一.回顾 二.动态库编译 1.命令行编译动态库和测试程序 2.vs工具编译动态库和测试程序 3.安装文档 4.测试文档 三.设计师插件编译 1.重写QDesignerCustomWidget ...

  2. 在Delphi程序中应用IE浏览器控件

    ---- 大概大家还记得Delphi的范例程序中的那个浏览器的例子吧.在那个例子中,利用控件THttp的属性和方法制作了一个浏览器.该例子用于理解THttp控件的使用方法,确实不错.但很少有人会用它作 ...

  3. Silverlight4.0教程之WebBrowser控件(Silverlight内置HTML浏览器控件)

    微软于PDC2009上发布Silverlight 4 Beta版,微软在Silverlight 4版本中处理了约8000个的Silverlight终端用户的请求,加入了一系列另开发人员兴奋的新特性,最 ...

  4. CEF中文教程(google chrome浏览器控件) -- CEF简介

    官方主页:  点击打开链接 CEF简介: 嵌入式Chromium框架(简称CEF) 是一个由Marshall Greenblatt在2008建立的开源项目,它主要目的是开发一个基于Google Chr ...

  5. 淘晶驰串口屏入门(七)数据记录控件、文件浏览器控件、文件流控件

    一.数据记录控件 1.注意data+数字开头的为数据记录控件 2.只有x3和x5系列的串口屏支持数据记录控件,k0,t0和t1系列不支持 3.使用data0.insert方法向数据记录控件添加记录 4 ...

  6. java浏览器fx,浏览器控件JxBrowser JavaFX开发快速入门指南

    要求:JDK 1.8及更高版本. 1.下载JxBrowser库 下载JxBrowser 将下载的归档文件解压到某个目录(例如D:\ Projects \ MyProject \)中. 当你解压缩档案时 ...

  7. 用C#编写ActiveX控件,开发浏览器控件,注册ActiveX 控件

    用C#编写ActiveX控件,开发浏览器控件,注册ActiveX 控件 用C#编写ActiveX控件 开发浏览器控件这是本控件开发完成后的一个简单应用.我们可以利用它以本地文件夹为单位来批量更新服务器 ...

  8. java程序获取外部java程序的控件,将 Java 小程序迁移到 Microsoft J# 浏览器控件-JSP教程,Java技巧及代码...

    visual j# .net 小组 microsoft corporation 摘要:通过 microsoft j# 浏览器控件,开发人员可以将所编写的在 java 虚拟机上运行的 java 小程序迁 ...

  9. C# .NET 6.0已经取消了Framework 4.8的WebBrowser控件,几款NuGet中的浏览器控件介绍

    即使在C# .NET 6.0..NET 7.0在选择工具箱项COM组件添加Microsoft Web Browser,工具箱也没有WebBrowser控件. WebBrowser控件: WebBrow ...

最新文章

  1. 更换AppleWWDRCA.cer证书
  2. Arrays.binarySearch 面试的坑
  3. UA MATH563 概率论的数学基础 中心极限定理16 Kolmogorov 3-series定理
  4. MyEclipse和tomcat结合编写jsp对于中文乱码的解决方法
  5. 【颠覆认知】为什么YouTube广告只看五秒更赚钱,微博商业产品经理深度剖析。...
  6. (8) ebj学习: Jpa的SINGLE_TABLE,JOINED,TABLE_PER_CLASS三种继承策略
  7. ListView控件获取选中项的内容 c# 114867417
  8. Linux共享内存(二) (转载)
  9. 什么是物联网?在生活中有何体现?
  10. Javascript第五章location对象第五课
  11. 计算机音乐咱们结婚吧音乐谱,齐晨咱们结婚吧简谱_咱们结婚吧歌词
  12. PMP之工作绩效数据、信息和报告的区别
  13. Python 定时获取卫星图像做为桌面背景
  14. 如何才能够主动学习,给你 2 点建议!
  15. Windows 微信双开(批处理)
  16. 小程序高级电商前端第1周走进Web全栈工程师一----小程序注册、开发工具推荐、《风袖》首页布局详尽分析、Webstorm开发小程序必配配置、mock数据...
  17. blender关于怎么导出上完色的FBX格式模型、以及导出后再导入,材质预览和渲染模式下材质透明度混乱的解决办法。
  18. Echarts安装失败
  19. 测试apk-异常管控Sensor攻击者开发
  20. html中的分页条怎么写,包含HTML标签的文本分页处理

热门文章

  1. 一级造价工程师(安装)- 计量笔记 - 第一章第二节安装工程常用材料
  2. 弘辽科技:老店新开没有自然流量怎么办?
  3. 【安全专业能力】关于一个安全人员必须要学会的技能
  4. [RK3588 Android12]系统桌面添加时钟日期部件
  5. 通达信如何在服务器运行,通达信服务器系统运维文档.doc
  6. cmd bat删除文件命令_运用sed命令高效地删除文件的特定行
  7. 办理上海居住证资料__网址
  8. 闲来无事系列-雨课堂抓包发包玩法(娱乐向)
  9. 深度:怎样打造中老年网红?爆款抖音老年网红的发展模式、现状与机会
  10. 17届全国大学生智能汽车竞赛 中国石油大学(华东)智能视觉组 --模型训练篇