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.

  • 相关阅读:
    十五分钟建立精美网站
    WebMatrix教程(一) (关注Microsoft 的最新武器:建立你的第一个WebMatrix网站)
    数据同步框架MS Sync Framework IDE快速开发支持Local Database Cache
    Interview SeniorSoftwareEngineers
    学JQuery最新免费教程[转]
    Visual Studio 2010 支持HTML5 和 CSS3
    Orchard:打包和共享模块
    CSLA.NET 框架开发实战
    如何真正提高ASP.NET网站的性能
    敏捷英语
  • 原文地址:https://www.cnblogs.com/machaofast/p/3222553.html
Copyright © 2011-2022 走看看