• 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 > 高分求救,ATL写的DLL在浏览器上怎么才能是标记为安全的及已签名的控件?

高分求救,ATL写的DLL在浏览器上怎么才能是标记为安全的及已签名的控件?

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

佚名通过本文主要向大家介绍了 高分求救,ATL写的DLL在浏览器上怎么才能是标记为安全的及已签名的控件?等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 高分求救,ATL写的DLL在浏览器上怎么才能是标记为安全的及已签名的控件?
描述:

我用ATL写了一个DLL在浏览器上修改了IE的安全项,也能弹出下载注册对话框,但显示为该控不安件全的。
请问如何解决这个问题,先谢谢各位了


解决方案1:

在BEGIN_COM_MAP(CM7_CmpCtrl)和END_COM_MAP()中添加COM_INTERFACE_ENTRY(IObjectSafety)
在控件类声明之后添加:
public IObjectSafetyImpl<CM7_CmpCtrl,INTERFACESAFE_FOR_UNTRUSTED_CALLER|INTERFACESAFE_FOR_UNTRUSTED_DATA>
再在BEGIN_COM_MAP(CM7_CmpCtrl)和END_COM_MAP()后添加
BEGIN_CATEGORY_MAP(CM7_CmpCtrl)
IMPLEMENTED_CATEGORY(CATID_SafeForScripting)
IMPLEMENTED_CATEGORY(CATID_SafeForInitializing)
END_CATEGORY_MAP()

解决方案2:

在你组件类的头文件中添加两个地方
class ATL_NO_VTABLE (你的组件类名): 
public IObjectSafetyImpl<(你的组件类名),INTERFACESAFE_FOR_UNTRUSTED_CALLER|INTERFACESAFE_FOR_UNTRUSTED_DATA>
//放在最后
BEGIN_COM_MAP(CCTieDaoCA)
COM_INTERFACE_ENTRY(IObjectSafety)//添加这个到最后
END_COM_MAP()

解决方案3:

CATID_SafeForScripting,CATID_SafeForInitializing

解决方案4:

在你的组件中加上:
Begin_CATEGORY_MAP(你的组件类名)
IMPLEMENTED_CATEGORY(CATED_SafeForScripting)
IMPLEMENTED_CATEGORY(CATED_SafeForInitializing)
END_CATEGORY_MAP()

解决方案5:

声明脚本安全:
BEGIN_CATEGORY_MAP(CMyCtrl)
  IMPLEMENTED_CATEGORY(CATID_SafeForScripting)
  IMPLEMENTED_CATEGORY(CATID_SafeForInitializing)
END_CATEGORY_MAP()
实现控件安全:
class ATL_NO_VTABLE CMyCtrl : 
  public IObjectSafetyImpl<CMyCtrl, INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA>
BEGIN_COM_MAP(CMyCtrl)
  COM_INTERFACE_ENTRY(IObjectSafety)
END_COM_MAP()


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

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

  • 高分求救:用ATLCOMAPPWINZARD生成的DLL如何导出函数呀?谢谢!!!!!!!!!!!!
  • 高分求救,我用atl作了一个activex控件,这个空件调用了一个动态连接库,
  • 高分求救:在一个ATLCOM组件里如何响应在它之内建立的另一个控件的事件?
  • 高分求救,ATL写的DLL在浏览器上怎么才能是标记为安全的及已签名的控件?
  • 高分求救,如何知道copy的目标文件的路径阿
  • 高分求救:MFC写的OCX怎么通过IE在Client自动注册?

相关文章

  • 2017-06-05 调用接口ShapesAddPicture后,excel进程无法退出
  • 2017-06-05 请问:为什么CreateWaitableTimer编译通不过?
  • 2017-06-05 COM组件在本地调用可以,放到服务端不行
  • 2017-06-04 小弟初学COM,真的不知道COM到底能用来做什么用呢?
  • 2017-06-04 IE浏览器中的2个ActiveX控件如何交互?
  • 2017-06-05 BEGIN_COM_MAP宏,为何包含了一个_cache函数以及实现?
  • 2017-06-04 请问大虾那本书学习COM/COM+比较好
  • 2017-06-05 如何获取指定进程的内存占用,线程列表,以及每个线程的cpu占用,和线程的EIP,ESP?
  • 2017-06-05 web中无法调用ActiveX中的函数
  • 2017-06-04 求解?使用_ATL_DEBUG_INTERFACES导致错误的问题

文章分类

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

最近更新的内容

    • 求助如何使控件消失
    • 我用SDK2000应用
    • 像visualassistx那样在VC启动时被连带打开是怎么实现的?
    • htmlselectelement接口元素无法生成的原因?
    • tlb不能在别的机器上使用?
    • 小弟出学VC编程有一事不明,请大家帮忙!
    • 救命呀!!!网络多线程编程调试问题,来着有分!
    • 求助:关于VB调用用VC++写的DLL
    • 请问怎样才能知道某个事件触发了哪个控件?
    • 新手:ocx本地网页测试问题

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

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