C#开发ActiveX控件及制作CAB包

本文介绍如何使用Visual Studio 2008创建ActiveX控件,并通过C#实现设置当前时间的功能。文章还介绍了如何提高ActiveX控件的安全性,确保其能在客户端浏览器中正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个项目要用到ActiveX控件,参照网上众多的例子,ActiveX控件倒是很容易就搞出来了;

然后做了一个【安装项目】,倒是可以使用,只不过需要在客户端手动点击安装,下一步,下一步…觉得不是很爽;

又试了试【CAB项目】,好像没人用VS2008来做,费了点功夫,终于找到解决办法。(文/bossma

特将此经验与大家分享。

开发工具:Visual Studio 2008
.NET版本:2.0
开发语言:C#

一、编写ActiveX控件

1、新建一个【Windows窗体控件库项目】


2、添加一个【用户控件】


3、拖两个Label控件到界面上


4、为控件添加一个方法,用来设置在Label中显示当前时间
  1.   1. /// <summary>
  2.   2.        /// 设置当前时间
  3.   3.        /// </summary>
  4.   4.        /// <param name="timeStr"></param>
  5.   5.        public void SetTime(string timeStr)
  6.   6.        {
  7.   7.            this.label2.Text = timeStr;
  8.   8.        }
复制代码
5、新建一个接口
据说实现该接口的目的就是提高程序的 安全性,以便客户端IE在不更改设置的情况下可以预行该ActiveX控件。

关于这个有篇文章,推荐大家看看: 关于IObjectSafety和ActiveX组件的脚本安全
  1.   1. using System;
  2.   2. using System.Collections.Generic;
  3.   3. using System.Text;
  4.   4. using System.Runtime.InteropServices;
  5.   5.
  6.   6. namespace HelloBossma
  7.   7. {
  8.   8.    [ComImport, GuidAttribute("CB5BDC81-93C1-11CF-8F20-00805F2CD064")]
  9.   9.    [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
  10.   10.    public interface IObjectSafety
  11.   11.    {
  12.   12.        [PreserveSig]
  13.   13.        int GetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(UnmanagedType.U4)] ref int pdwSupportedOptions, [MarshalAs(UnmanagedType.U4)] ref int pdwEnabledOptions);
  14.   14.
  15.   15.        [PreserveSig()]
  16.   16.        int SetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(UnmanagedType.U4)] int dwOptionSetMask, [MarshalAs(UnmanagedType.U4)] int dwEnabledOptions);
  17.   17.    }
  18.   18. }
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值