首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在IObjectSafety中编程实现JScript.NET

如何在IObjectSafety中编程实现JScript.NET
EN

Stack Overflow用户
提问于 2011-12-23 22:37:57
回答 1查看 1.1K关注 0票数 3

如何将JScript.NET dll标记为脚本安全?

考虑一下这个JScript.NET库(helloworld1.js)

代码语言:javascript
复制
package helloworld1{
  class test1 {
    public function test1run(){
      return 'This is a string returned from helloworld1.dll';
    }
  }
}

在经历了之后

jsc.exe /nologo /t:library helloworld1.js

regasm /nologo /codebase helloworld1.dll

我可以在本地html页面上使用它:

代码语言:javascript
复制
var helloworld1 = new ActiveXObject("helloworld1.test1");
alert(helloworld1.test1run());

这一切都很好,我在This is a string returned from helloworld1.dll上得到了一个警告。

现在..。我想消除每次ActiveX对象实例化时都会弹出的可怕的IE安全警告。

An ActiveX control on this page might be unsafe to interact with other parts of the page. Do you want to allow this interaction?

我知道删除安全警告的方法是将dll标记为safe for scripting并实现IObjectSafety

我知道如何在VB6和VB.NET中实现它,但是如何在JScript.NET?中实现它呢?

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-28 22:03:15

经过广泛的研究,我发现,由于IObjectSafety在JScript.NET中绝对没有文档,所以我无法在代码中直接实现这个接口。

最后,我决定添加必要的注册表项,将我的dll标记为“初始化安全”和“脚本安全”:

代码语言:javascript
复制
[HKEY_CLASSES_ROOT\CLSID\[MY_COM_CLASS_GUID]\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]
[HKEY_CLASSES_ROOT\CLSID\[MY_COM_CLASS_GUID]\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]

当helloworld1.dll部署在目标计算机上时,我在安装例程中添加这些键。它运行得完美无缺。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8621232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档