如何在C++ Builder 2010中编写“安全”的Activex控件

原创 2011年01月09日 14:23:00

在默认的IE安全设置中,“对为标记为可安全执行脚本的ActiveX控件初始化并执行脚本”一项是禁用的,

如果修改安全设置为“提示”,在浏览器端就会看到以下windows报警


如何把ActiveX控件标记为可安全执行呢?查了下MSDN,发现只要实现IObjectSafetyImpl就行了。

具体如下操作:
1.新建ActiveX工程

 

系统自动生成以下文件

 

2.新增com事务对象(如果控件需要窗体界面的话,可以选择Active Form)

 

 

生成Unit1.cpp和Unit1.h文件,存放的是myTest的申明以及具体实现

 

3.编辑Unit1.h文件,加入IObjectSafetyImpl的实现

 

4.接下来可以验证一下控件是否变“安全”了,打开Project1.ridl文件的Design界面,添加method

 

 

 

添加参数后,点击Refresh按钮

 

打开Unit1.cpp,找到testAlert方法,新增以下代码

 

5.编译Project1.dll,并执行regsvr32 path/Project1.dll,注册dll文件

6.新建test.html文件,实验是否会出现安全提示(clsid在Project1.ridl设计界面中可以找到,myTest对应的GUID)

 

7.用浏览器打开test.html,运行效果如下,没有出现windows安全报警

 

 

C++基于ATL工程编写安全的ActiveX控件

继前一篇关于ActiveX控件的博客之后,现在再增加一部分后续的问题 如何编写一个安全的ActiveX控件 ActiveX控件,用js调用时经常因为IE浏览器安全权限问题被阻止或提示等, 先来看...

C++ builder 使用ActiveX控件.

  • 2013年09月13日 13:07
  • 106KB
  • 下载

C++ Builder 2010 安装ShockWave(即flash) 控件 (转)

 转自:http://hi.baidu.com/luoshupeng/blog/item/c5bdaf446aed0988b3b7dc20.html

使用VS2010 C#编写ActiveX控件

我参考的文章如下(非Vs2010开发):      用C#编写ActiveX控件(一)http://www.cnblogs.com/homer/archive/2005/01/04/86473.ht...

如何编写能在Office 2010/2007设计时能正常绘制并能进行交互的ActiveX控件

需求&问题: 最近在写一个产品时需要一个能在Word以及Excel中正常显示并进行交互操作的ActiveX控件,并且该控件必须要能与VSTO写的TaskPanel(TaskPanel由WPF MVV...

如何将标记为可安全编写脚本和初始化的 MFC ActiveX 控件 (转)

默认,MFC ActiveX 控件不被标记为可安全编写脚本和可安全初始化。 该控件在 Internet Explorer 中运行该安全级别设置为中等或高时,这一明显。 在这两种模式任一,警告可能会显示...
  • zlj7777
  • zlj7777
  • 2011年07月21日 16:51
  • 276

如何将MFC ActiveX 控件标记为可安全编写脚本和初始化

遇到一个关于Activex调用的问题,网页端要调用本地的程序,必须借助Activex来进行调用,但是实际实现的时候又发现会出现提示说,程序不是安全的这种问题,所以到网上搜索了一下,找到底下的这篇文章,...

关于C++Builder 中使用 VCLSkin 换肤控件的一点心得!在OCX(ActiveX)中的应用。

对于 VCLSkin的使用网上的文章并不多,害的我在这次客户突如其来的对界面的无理要求中手足无措。其实 VCLSkin是个使用很简单,强大,皮肤繁多的控件。可以满足C++builder以及Delphi...

C++基于ATL工程编写ActiveX控件步骤

开发环境:VS2010 开发工程:C++ATL项目 开发目的:创建ActiveX实现js调用 步骤: 1.      创建一个ATL工程 应用程序类型选择动态链接库(DL...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何在C++ Builder 2010中编写“安全”的Activex控件
举报原因:
原因补充:

(最多只允许输入30个字)