我使用c#创建了一个Activex类型库,并使用regasm注册了它。
[ProgId("ActivexControl.DemoActivex")]
[ClassInterface(ClassInterfaceType.AutoDual)]
[Guid("29FF9CCE-B34F-4BE1-8D10-D6C3215D99A2")]
[ComVisible(true)]
public class DemoActivex
{
WebBrowser webBrowser = new WebBrowser();
string printHTML = string.Empty;
public PrintingHelper()
{
}
[ComVisible(true)]
public String SayHello()
{
return "hello";
}
}
以下是访问html页面中的activex的代码
<object id="DemoActiveX" classid="clsid:29FF9CCE-B34F-4BE1-8D10-D6C3215D99A2" codebase="ActivexControl.cab">
</object>
<script type="text/javascript">
try {
debugger;
var obj = document.DemoActiveX;
if (obj) {
alert(obj.SayHello());
} else {
alert("Object is not created!");
}
} catch (ex) {
alert("Some error happens, error message is: " + ex.Description);
}
</script>
如果我将它与简单的HTML文件一起使用,但是如果尝试在IIS中托管的Web应用程序中使用它,则会出现错误:全局访问被拒绝。