zoukankan      html  css  js  c++  java
  • 使用.net创建activex控件

    1. . 创建.net activeX
    示例: http://www.codeproject.com/cs/miscctrl/exposingdotnetcontrols.asp
    首先要在类定义前面添加:
    [ProgId("MyClassName")] COM调用名称
    [Guid("MyGUID")] sdf  COM对应的GUID
    [ComVisible(true)]   是否为COM组件

    activeX自注册方法:
    ///<summary>
    ///Register the class as a control and set its CodeBase entry
    ///</summary>
    ///<param name="key">The registry key of the control</param>
    [ComRegisterFunction()]
    public static void RegisterClass ( string key )
    {
    .

    .
    }
     
    ///<summary>
    ///Called to unregister the control
    ///</summary>
    ///<param name="key">Tke registry key</param>
    [ComUnregisterFunction()]
    public static void UnregisterClass ( string key)
    {
    .
    .
    }

    然后可以用: regasm /codebase MyAssemblie.dll 注册此activex或 regasm /u MyAssemblie.dll  反注册此DLL
    其中activeX中调用的方法需要添加[ComVisible(true)]

    最后再建立一个SNK文件: sn –k Kosmala.Michal.ActiveXReport.snk
    并添加到assemblyinfo.cs中.
    [assembly:AssemblyKeyFile("http://www.cnblogs.com/Kosmala.Michal.ActiveXReport.snk")]

    生成并注册activeX之后,就可以在HTML中用JS调用了.

    示例:
    <body onload="OpenActiveX()">

      <!-- Our activeX object -->
      <OBJECT id="OurActiveX" name="ourActiveX" classid="clsid:121C3E0E-DC6E-45dc-952B-A6617F0FAA32" VIEWASTEXT codebase="OurActiveX.cab"></OBJECT> 

      <!-- Attaching to an ActiveX event-->
    <script language="javascript">
               function OurActiveX::OnClose(redirectionUrl)
        {
      alert(redirectionUrl);   <!-- http://otherwebsite.com should be returned-->
                        //window.location = redirectionUrl;
               }
    </script>


    <script language="javascript">
     //Passing parameters to ActiveX object and starting application
    function OpenActiveX()
    {
     try
     {
      document.OurActiveX.MyParam = "Hi I am here." //Passing parameter to the ActiveX
      document.OurActiveX.Open(); //Running method from activeX
     }
     catch(Err)
     {
      alert(Err.description);
     }


    </script>

      </body>

    如果要更友好的使用,则应该建立一个cab文件,放在html文件目录下,这样访问此HTML,而找不到ACTIVEX时,会自动提示安装此CAB.


    ref
    http://www.codeproject.com/KB/cs/CreateActiveXDotNet.aspx

  • 相关阅读:
    DICOMDIR结构
    给文件夹添加Everyone用户
    关于Predicate<T>委托
    开发者必备的6款源码搜索引擎
    Create XML Files Out Of SQL Server With SSIS And FOR XML Syntax
    create xml file from sql script
    DICOM中的入门概念
    小米note开启调试模式
    [转] Java基础知识——Java语言基础
    Java语言基本语法
  • 原文地址:https://www.cnblogs.com/margiex/p/1099258.html
Copyright © 2011-2022 走看看