zoukankan      html  css  js  c++  java
  • C# 编写ActiveX

    1. 新建 WindowFormControlLibrary

    2. 修改 项目->右键属性->Application-> Assembly Information ->勾选 Make Assembly Com-Visible

    3. 修改 项目->右键属性-> Build -> 勾选 Register for Com interop 

    4. 控件cs界面, using System.Runtime.InteropServices 命名空间; 类名添加 GUID属性

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    
    namespace MyActiveX2
    {
        [Guid("07333C44-7CFD-3C64-A540-C476FE80EEF2")]
        public partial class demo : UserControl, IObjectSafety
        { .....

    5. 继承IObjectSafety 接口

            #region IObjectSafety Members
            public void GetInterfacceSafyOptions(int riid, out int pdwSupportedOptions, out int pdwEnabledOptions)
            {
                pdwSupportedOptions = 1;
                pdwEnabledOptions = 2;
            }
    
            public void SetInterfaceSafetyOptions(int riid, int dwOptionsSetMask, int dwEnabledOptions)
            {
                //throw new NotImplementedException();
            }
            #endregion
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.InteropServices;
    
    namespace MyActiveX2
    {
    
        [Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
        public interface IObjectSafety
        {
            void GetInterfacceSafyOptions(System.Int32 riid, out System.Int32 pdwSupportedOptions, out System.Int32 pdwEnabledOptions);
            void SetInterfaceSafetyOptions(System.Int32 riid, System.Int32 dwOptionsSetMask, System.Int32 dwEnabledOptions);
        }
    
    }

    6. 网页引用就可以了

       <object id="obj1" classid="clsid:07333C44-7CFD-3C64-A540-C476FE80EEF2" >      
        </object>

    7. 安装程序

    新建项目-> 安装项目 -> Appliction Folder -> 添加 项目的主输出,并设置Register属性为vsdrpCOM.

  • 相关阅读:
    OA日志模块
    OA查找用户
    在服务器注入脚本,然后客户端异步调用
    在使用ext2.0中使用store加载数据出现this.onMetaChange has no properties错误
    有关在div中的嵌套事件
    KML添加自定义数据
    KML 入门
    PostGIS中的shp2pgsql
    DOM基础
    jquery 操作 select,radio,checkbox等(转载)
  • 原文地址:https://www.cnblogs.com/machaofast/p/3222553.html
Copyright © 2011-2022 走看看