写在前面

最近Boss要求将现在osgGIS效果嵌入到网页实现,折腾了一周多,终于搞定。
先说下自己的环境:系统为Window10,osg版本为3.4,qt版本为5.9,vs2017编译工程为64位。

之前看了网上好多好多博文,整体过程大同小异,但那些文章都有一个共同特点,年代较久远,大部分开发的还是32位的软件,利用vs+qt嵌入网页应该没有什么问题。但现在自己开发的全部是64位程序,相较前辈们的技术路线,也有很大不同。

当然,总体思路仍然是:OSG嵌入QT,QT嵌入网页,这样便实现OSG与网页(IE内核)的结合

ActiveQT server插件

利用VS+QT构建Activex工程不必详述,先上一张贴图:

一直选择默认,就能构建出一个整体的ActiveQT框架。
注意这里的:

的第一行ID号,就在 html文档中的[Objet]对象的值。

osg嵌入QT

osg与QT的结合可以查看OSG官方给出的例子 osgviewerQT
(代码已经上传GitHub)

难缠的IE(关键)

做出来64位ActiveQT控件之后,直接用ie打开多半不会加载成功。打开ie浏览器默认的是直接打开32位的(可通过window的资源管理器,找到iexplore--打开文件位置确认),即使选择64位一般情况下也不会成功,这也是自己卡克的地方。

引自网上一段话 "IE 浏览器在同时打开多个选项卡后,Windows 会同时运行多个不同的 IEXPLORE.EXE 进程,这个现象并非是不正常的故障,而是 IE 浏览器在 IE 8 及后续的版本中引入的“松散耦合进程框架(Loosely Coupled IE)”进程管理技术。此技术允许 IE 浏览器将主窗口与选项卡用不同的、分离的 IEXPLORE.EXE 进程隔开。如果一个选项卡遇到了问题需要关闭,可以避免连带影响整个 IE 浏览器主窗口及其它选项卡。这样有助于提升 IE 浏览器的稳定性与安全性。"

也就是说,当做出html后,即使选择用64的ie打开,也会至少启动两个线程,查看方式:打开一个ie网页,选择 “任务管理器”选择 “ie转到详细信息”,如图:(一般情况下会看到两个进程,一个是打开的64位,另一个是默认打开的32的ie进程)

现在,我们要做的就是设置IE单进程64位启动启动,方法有二:

ie单进程启动方法一:

运行gpedit.msc组策略管理器。在“计算机配置—》管理模板—》windows组件—》Internet Explore”中打开“选项卡进程增长”,设置为已启用,选项卡进程增长为0。应用之后IE就进入单进程模式。这时候使用C:Program FilesInternet Explore目录下的iexplore.exe(该目录下IE为64-bit),去打开调用64位控件的html文件,就能成功的调用64位控件了。

ie单进程启动方法二:

如果上述方法失败,则可(百度经验)https://jingyan.baidu.com/art...

最后效果:

osg+ActiveQT嵌入ie64位相关推荐

  1. 解决!只有IE64位浏览器能上网,其他软件都上不了网

    [分析] 从以上四个例子来看,有一个共同的特点就是,发现64位的IE浏览器可以上网,并且起初都把它当做感染了病毒或者木马,百般折腾解决不了.在百度上搜到牛人的诊断:svchost.exe进程被阻止,W ...

  2. win7 IE64位浏览器能上网,ie,搜狗等不能上网 的解决办法

    1.单击"开始",在开始搜索框中键入cmd,右键单击"cmd.exe",单击"以管理员身份运行",然后按"继续". 2. ...

  3. 将OSG嵌入QT窗口系统中,实现拖拽界面

    将OSG嵌入QT窗口系统中,实现拖拽界面 一.原理 OSG底层使用的是OpenGL图形系统,QT也增加了对OpenGL的支持,因此,可以通过QT的OpenGL模块,实现将OSG窗口嵌入到QT中,这样可 ...

  4. ubuntu安装chrome浏览器64位

    image.png 下载安装包 wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb image ...

  5. OSG开发笔记(一):OSG介绍、编译

    ​​​​​​​OSG开发专栏(点击传送门) 上一篇:无 下一篇:<OSG开发笔记(二):OSG帮助文档编译> 前言 需要用到三维立体变换.三维球体等三维开发,之前准备使用opengl,但是 ...

  6. “蜥蜴之尾”——长老木马四代分析报告

    随着移动端安全软件对APK的查杀能力趋于成熟以及Google对Android安全性重视的提高,病毒与反病毒的主战场已逐渐从APP层扩展到Linux底层.而且病毒作者也开始把PC端的病毒自我保护手段运用 ...

  7. 图片图层隐写_【软件】imageIN · 图影-隐藏文件到图片,简单轻快的图片隐写工具...

    还记得以前的图种制作吗,今天给大家分形下一个相关的工具. 度盘下载(imageIN Beta1.0 (2.18MB)) :pan.baidu.com/s/1hqve8YS 官网下载:本地下载 这是一个 ...

  8. 基于Snort的入侵检测系统

    基于Snort的入侵检测系统 用Snort,Apache,MySQL,PHP及ACID构建高级IDS 第一章 入侵检测系统及Snort介绍 在当今的企业应用环境中,安全是所有网络面临的大问题.黑客和入 ...

  9. html 自动加载activex控件,管理加载项未显示加载控件

    已安装控件,但是在"管理加载项"中"所有加载项"中就是这个: 已安装的控件只有在网页调用此控件时才会在加载项里出现 IE加载项没有禁用Flash Player为 ...

最新文章

  1. 清华姚班系初创公司获B轮融资5亿,姚期智「百万富翁」设想已从理论走向应用...
  2. Javascript history pushState onpopstate方法做AJAX SEO
  3. 数据集合 oracle,oracle集合
  4. [转]使用CSS3 Grid布局实现内容优先
  5. 【Python】聊聊Pandas的前世今生
  6. elk 搜索 语法_ELK学习笔记7| Lucence 的搜索语法
  7. DOS 中for遍历文件内容
  8. 如何写一个批量下载PDF文件的程序hp48
  9. web.xml 加载顺序
  10. 1、win10下的Docker+Redis 的下载及简单使用
  11. I.MX6 CAAM
  12. RJ45墙上网线插座的线序与接法
  13. 聚类分析方法的研究与应用综述
  14. 用NE5532运算放大器制作降噪耳机
  15. matlab数据行次序反转,如何在Excel表格中将数据顺序翻转-excel怎么把一行数据颠倒...
  16. OSPF LSA内容解析及SPF算法分析
  17. 《程序员练习生》第5期 学习编程的乐趣
  18. Web端编写(四)——查看会议议程
  19. Spritekit中如何判断触摸点击的精灵
  20. OAuth2 and OpenId 协议学习记录一

热门文章

  1. 【MFC 学习笔记】CheckListBox
  2. 动态规划优化_斜率优化
  3. 推荐分享一个自定义绑定控件(附源码)
  4. CnBlogs自定义博客样式
  5. httpclient在获取response的entity时报异常
  6. jhipster详解
  7. Hadoop 回收站
  8. winform 图片集合
  9. Lintcode: Permutation Index
  10. 解决React首屏加载白屏的问题