64位ActiveX控件的测试和使用

aaa亮 2016-03-14 10:09:51
在64位系统下,不管是打开Program files 里面的IE还是Program files (X86)里面的IE,在任务管理器都会出现两个进程,一个64位的,另一个是32位的。 目前我做好的64位控件是这样的,在把IE设置为单进程模式,使用Program files里面的IE(X64)能够加载并正常使用控件,如果不设置为单进程模式,则加载不到。
我现在想满足这样的需求:64位的系统,在只注册64位ActiveX控件情况下,不需要把IE设置为单进程模式也能正常加载64位控件,有没有可能?

64位系统我尝试了win10,win7旗舰版都不行。另外、设置IE为单进程模式,具体操作:运行gpedit.msc组策略管理器。在“计算机配置—》管理模板—》windows组件—》Internet Explore”中打开“选项卡进程增长”,设置为已启用,选项卡进程增长为0。应用之后IE就进入单进程模式。
...全文
3702 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
eerfcfc 2017-11-28
  • 打赏
  • 举报
回复
楼主问题解决了吗?我也有同样的需求: 就是在64位的系统,只注册64位ActiveX控件情况下,不需要把IE设置为单进程模式也能正常加载64位控件
  • 打赏
  • 举报
回复
最简单你弄2个控件就行了,32位一个,64位一个,同时安装。
joedge1204 2016-10-14
  • 打赏
  • 举报
回复
谢谢楼主及各位,帮了很大的忙! 为了让64位ActiveX控件运行在64位IE上,我的机器为win7-64位,IE改成单进程模式需要修改注册表中的两个地方: 把HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main中的AdminTabProcs和FrameTabWindow项值都改为0即可。
赵4老师 2016-03-18
  • 打赏
  • 举报
回复
研究结果越能解决问题,被当作轱辘话的概率越高。 存在即合理。
赵4老师 2016-03-17
  • 打赏
  • 举报
回复
引用 8 楼 u012365762 的回复:
[quote=引用 2 楼 zhao4zhong1 的回复:] 64位的IE和32位的IE是两个不同的进程。
还是非常感谢aspower_ ,我这边在MSDN上找到的信息大概也是如此。赵4老师有什么看法吗? 我看你之前对这一方面有研究,希望你能帮我讲解一下。[/quote] 其实我所谓的研究也止于此而已: 在64位Windows下: 64位exe和dll在目录c:\windows\system32目录下; 32位exe和dll在目录c:\windows\syswow64目录下; 所以要注意: 在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。 且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
一笑拔剑 2016-03-17
  • 打赏
  • 举报
回复
引用 8 楼 u012365762 的回复:
[quote=引用 2 楼 zhao4zhong1 的回复:] 64位的IE和32位的IE是两个不同的进程。
还是非常感谢aspower_ ,我这边在MSDN上找到的信息大概也是如此。赵4老师有什么看法吗? 我看你之前对这一方面有研究,希望你能帮我讲解一下。[/quote] 他研究
引用 8 楼 u012365762 的回复:
[quote=引用 2 楼 zhao4zhong1 的回复:] 64位的IE和32位的IE是两个不同的进程。
还是非常感谢aspower_ ,我这边在MSDN上找到的信息大概也是如此。赵4老师有什么看法吗? 我看你之前对这一方面有研究,希望你能帮我讲解一下。[/quote] 他研究个p,翻来覆去的轱辘话
aaa亮 2016-03-17
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
64位的IE和32位的IE是两个不同的进程。
还是非常感谢aspower_ ,我这边在MSDN上找到的信息大概也是如此。赵4老师有什么看法吗? 我看你之前对这一方面有研究,希望你能帮我讲解一下。
一笑拔剑 2016-03-16
  • 打赏
  • 举报
回复
引用 6 楼 u012365762 的回复:
[quote=引用 5 楼 aspower_ 的回复:] 另外你可以做成32位模式看看 因为Microsoft建议在多数情况下使用32位版本的Internet Explorer。使用32位Internet Explorer不会限制向64位技术的迁移,原因是客户端层通常保持为32位,因为迁移到64位对于客户端层没什么直接的好处。
我可以理解为,尽管在64位windows系统下,只有当你把IE设置为单进程模式,并且使用了64位IE,才能使用到64位ActiveX吗?[/quote] 恩,msdn上这方面的资料不多,我只找到上面一段话 我个人估计可能是这样的
aaa亮 2016-03-16
  • 打赏
  • 举报
回复
引用 5 楼 aspower_ 的回复:
另外你可以做成32位模式看看 因为Microsoft建议在多数情况下使用32位版本的Internet Explorer。使用32位Internet Explorer不会限制向64位技术的迁移,原因是客户端层通常保持为32位,因为迁移到64位对于客户端层没什么直接的好处。
我可以理解为,尽管在64位windows系统下,只有当你把IE设置为单进程模式,并且使用了64位IE,才能使用到64位ActiveX吗?
一笑拔剑 2016-03-15
  • 打赏
  • 举报
回复
这个办法不是很多 我也没有测试 我估计这个是64位ie多选项卡的关系 不过你可以用注册表设置ie为单进程 安装的时候改注册表就好 HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main/TabProcGrowth 设置为dword 0就可以
一笑拔剑 2016-03-15
  • 打赏
  • 举报
回复
另外你可以做成32位模式看看 因为Microsoft建议在多数情况下使用32位版本的Internet Explorer。使用32位Internet Explorer不会限制向64位技术的迁移,原因是客户端层通常保持为32位,因为迁移到64位对于客户端层没什么直接的好处。
aaa亮 2016-03-15
  • 打赏
  • 举报
回复
赵4老师,您能说清楚点? 如果我只注册了64位的控件,在64位系统下(我的是win7旗舰版,IE11),怎么使用我的控件?
赵4老师 2016-03-15
  • 打赏
  • 举报
回复
64位的IE和32位的IE是两个不同的进程。
aaa亮 2016-03-15
  • 打赏
  • 举报
回复
为什么没人? 自顶......

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧