HOWTO: Implement IObjectSafety in Visual Basic Controls
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q182598

解决方案 »

  1.   

    你的activex没有加上安全策略分类!如果加了!
    ie的默认设置是不会弹出的
      

  2.   

    加一段类似下面的语句:BEGIN_CATEGORY_MAP(CxBrowser)    
        IMPLEMENTED_CATEGORY(CATID_SafeForScripting)
    END_CATEGORY_MAP()
      

  3.   

    没啥说的,作个数字签名就好了signcode.exe
      

  4.   

    证书已经申请了,数字签名也做了,现在我的Dll文件已经带有数字证书了,但是在安装证书的时候,它改变了IE的安全设置!我把IE安全设置恢复成默认状态后,调用ActiveX的时候依然有警告对话框弹出。是不是我有什么步骤错误?
    我要实现的是在调用自己编写的ActiveX的时候不出现警告对话框。同样是ActiveX,调用Adodb的时候就没有警告,调用自己编写的ActiveX的时候就有警告对话框弹出。我的控件已经签名了呀!var a = new ActiveXObject("ADODB.Connection");    //无警告弹出
    var b = new ActiveXObject("myFunctions.myClass"); //有警告弹出
      

  5.   

    有提示是对的,连微软的windows update控件都有提示,var a = new ActiveXObject("ADODB.Connection");这句话是调用本机已注册的com,就是说已经下载、安装了的东西了。给你提示的不是var b = new ActiveXObject("myFunctions.myClass"); 这个东西,应该是<object classid='' codebase=''>的html标签。
      

  6.   

    '映射activex控件的事件:'控件的 Click 事件声明。
    Public Event Click()'当 txtBase 文本框产生 Click 时,
    '   控件通过产生前面声明的 Click 事件,
    '   将其转发。
    Private Sub txtBase_Click()
       RaiseEvent Click
    End Sub'当用户单击 UserControl 对象时,
    '   也可能希望产生自己的 Click 事件。
    Private Sub UserControl_Click()
       RaiseEvent Click
    End Sub