osg+ActiveQT嵌入ie64位
写在前面
最近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位相关推荐
- 解决!只有IE64位浏览器能上网,其他软件都上不了网
[分析] 从以上四个例子来看,有一个共同的特点就是,发现64位的IE浏览器可以上网,并且起初都把它当做感染了病毒或者木马,百般折腾解决不了.在百度上搜到牛人的诊断:svchost.exe进程被阻止,W ...
- win7 IE64位浏览器能上网,ie,搜狗等不能上网 的解决办法
1.单击"开始",在开始搜索框中键入cmd,右键单击"cmd.exe",单击"以管理员身份运行",然后按"继续". 2. ...
- 将OSG嵌入QT窗口系统中,实现拖拽界面
将OSG嵌入QT窗口系统中,实现拖拽界面 一.原理 OSG底层使用的是OpenGL图形系统,QT也增加了对OpenGL的支持,因此,可以通过QT的OpenGL模块,实现将OSG窗口嵌入到QT中,这样可 ...
- ubuntu安装chrome浏览器64位
image.png 下载安装包 wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb image ...
- OSG开发笔记(一):OSG介绍、编译
OSG开发专栏(点击传送门) 上一篇:无 下一篇:<OSG开发笔记(二):OSG帮助文档编译> 前言 需要用到三维立体变换.三维球体等三维开发,之前准备使用opengl,但是 ...
- “蜥蜴之尾”——长老木马四代分析报告
随着移动端安全软件对APK的查杀能力趋于成熟以及Google对Android安全性重视的提高,病毒与反病毒的主战场已逐渐从APP层扩展到Linux底层.而且病毒作者也开始把PC端的病毒自我保护手段运用 ...
- 图片图层隐写_【软件】imageIN · 图影-隐藏文件到图片,简单轻快的图片隐写工具...
还记得以前的图种制作吗,今天给大家分形下一个相关的工具. 度盘下载(imageIN Beta1.0 (2.18MB)) :pan.baidu.com/s/1hqve8YS 官网下载:本地下载 这是一个 ...
- 基于Snort的入侵检测系统
基于Snort的入侵检测系统 用Snort,Apache,MySQL,PHP及ACID构建高级IDS 第一章 入侵检测系统及Snort介绍 在当今的企业应用环境中,安全是所有网络面临的大问题.黑客和入 ...
- html 自动加载activex控件,管理加载项未显示加载控件
已安装控件,但是在"管理加载项"中"所有加载项"中就是这个: 已安装的控件只有在网页调用此控件时才会在加载项里出现 IE加载项没有禁用Flash Player为 ...
最新文章
- 清华姚班系初创公司获B轮融资5亿,姚期智「百万富翁」设想已从理论走向应用...
- Javascript history pushState onpopstate方法做AJAX SEO
- 数据集合 oracle,oracle集合
- [转]使用CSS3 Grid布局实现内容优先
- 【Python】聊聊Pandas的前世今生
- elk 搜索 语法_ELK学习笔记7| Lucence 的搜索语法
- DOS 中for遍历文件内容
- 如何写一个批量下载PDF文件的程序hp48
- web.xml 加载顺序
- 1、win10下的Docker+Redis 的下载及简单使用
- I.MX6 CAAM
- RJ45墙上网线插座的线序与接法
- 聚类分析方法的研究与应用综述
- 用NE5532运算放大器制作降噪耳机
- matlab数据行次序反转,如何在Excel表格中将数据顺序翻转-excel怎么把一行数据颠倒...
- OSPF LSA内容解析及SPF算法分析
- 《程序员练习生》第5期 学习编程的乐趣
- Web端编写(四)——查看会议议程
- Spritekit中如何判断触摸点击的精灵
- OAuth2 and OpenId 协议学习记录一