关闭

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

标签: c++2010interfacewinapibuttonfunction
707人阅读 评论(0) 收藏 举报

在默认的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安全报警

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3207次
    • 积分:62
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档