• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

vs2017C#ActiveX浏览器插件创建发布C#windows窗体控件库(.NETFramework)注意事项 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

  • vs2017需要安装插

 

插件下载地址:https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.MicrosoftVisualStudio2017InstallerProjects#qna

  • 项目创建

 

 

右键项目属性,修改目标框架为.NET Framework 4 Client Profile(用原来的目标框架发布后空间无法调用)
继续修改

 

 

 

 配置大概就这些,接下来码代码

为了让ActiveX控件获得客户端的信任,控件类还需要实现一个名为“IObjectSafety”的接口。

 

namespace UserActiveXDemo
{
    [ComImport, GuidAttribute("F0031FC7-3560-488E-A2AD-7ABC7D85998C")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface IObjectSafety
    {
        [PreserveSig]
        void GetInterfacceSafyOptions(
         int riid,
         out int pdwSupportedOptions,
         out int pdwEnabledOptions);

        [PreserveSig]
        void SetInterfaceSafetyOptions(
        int riid,
        int dwOptionsSetMask,
        int dwEnabledOptions);
    }
}

  用户控件设计

 

 

 

 

用户控件要实现

IObjectSafety接口
namespace UserActiveXDemo
{
    //guid 可以自己定义
    [Guid("685F0A47-944D-4145-BF4E-76A02A422B02")]
    public partial class UserControl1: UserControl, IObjectSafety
    {
        public UserControl1()
        {
            InitializeComponent();
        }
        public void GetInterfacceSafyOptions(int riid, out int pdwSupportedOptions, out int pdwEnabledOptions)
        {
            throw new NotImplementedException();
        }

        public void SetInterfaceSafetyOptions(int riid, int dwOptionsSetMask, int dwEnabledOptions)
        {
            throw new NotImplementedException();
        }
    }
}

  接着是将控件发布

新建项目

 

 

在UserActiveXSetup项目上右键--add--项目输出

 

 点击确定

在主输出文件上右键属性

 

 

 

Register属性修改

 

 

然后生成安装  

在html 页面 添加

 

参考资料

 

 

 

 

<object 
width="500"
height="100"
codebase="CardReader/SetupCardReader/Debug/Setup.exe"></object>
 

 

classid 为 UserControl 顶部的guid
参考大神地址:

http://www.cnblogs.com/yilin/p/csharp-activex.html

源码:链接: https://pan.baidu.com/s/1YvyXLLTQ1QRbMhd9HNrCpw&shfl=shareset 提取码: v5qk

 

 

 



 

 





 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#程序加壳的方法(使用Sixxpack)[转载]发布时间:2022-07-13
下一篇:
关于C#操作“Everything”的使用,超好用发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap