dotNet下ActiveX的开发

本文详细介绍了在dotNet环境下开发ActiveX控件的步骤,包括Guid指定、访问权限安全设定、加入微软认证接口、ActiveX的发布及网上安装包的制作。通过这些步骤,可以创建并安全地在网页中使用ActiveX控件。

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

1.Guid 指定
  每一个控件有自己的Guid,系统会根据这个号寻找加载此控件。
  (1)新建项目时,选择Usercontrol
  (2)[工具]->[创建Guid],生成Guid号
  (3)在class关键字前加上这一行:[Guid("89933-899-3...前面生成的guid号")].注意Guid要加入引用System.Runtime,InteropServics
  (4)编译时注册控件。[项目]->[control*属性]->[配置属性]->[为comInterop注册]->true
2.访问权限安全设定(AssemblyInfo.cs中)
  (1)在AssemblyInfo.cs中加入引用System.Security
  (2)加入[assembly:AllowPartiallyTrustedCallers()]
3.加入微软的认证接口
  (1)[项目]->[添加类]
  (2)类代码如下:
using System;
using System.Runtime.InteropServices;
namespace control_infoIsLate
{
 /// <summary>
 /// Class1 的摘要说明。
 /// </summary>
 [Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064"),InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
 public interface IObjectSafety
 {
  // methods
  void GetInterfacceSafyOptions(
   System.Int32 riid,
   out System.Int32 pdwSupportedOptions,
   out System.Int32 pdwEnabledOptions);
  void SetInterfaceSafetyOptions(
   System.Int32 riid,
   System.Int32 dwOptionsSetMask,
   System.Int32 dwEnabledOptions);        
 }
}
  (3)添加控件类的基类.如:class UserControl1 : System.Windows.Forms.UserControl,IObjectSafety
  (4)在控件类中实现接口,加入如下代码:
#region IObjectSafety 成员
 
  public void GetInterfacceSafyOptions(Int32 riid, out Int32 pdwSupportedOptions, out Int32 pdwEnabledOptions)
  {
   // TODO:  添加 WebCamControl.GetInterfacceSafyOptions 实现
   pdwSupportedOptions = 1;
   pdwEnabledOptions = 2;
  }
 
  public void SetInterfaceSafetyOptions(Int32 riid, Int32 dwOptionsSetMask, Int32 dwEnabledOptions)
  {
   // TODO:  添加 WebCamControl.SetInterfaceSafetyOptions 实现            
  }
 
#endregion
4.ActiveX的发布
  (1)在html中加入这么几行
<object id="haha"
classid="clsid:6DE8EA4F-B00E-43c3-94DC-12EC8B1F482E"
CODEBASE="http://172.16.20.94:8080/zd2/activex/Setup.Exe"
WIDTH=100% HEIGHT=100%>
</object>
     当浏览器在本地系统中找不以classid号的控件,就会下载codebase指定的程序进行自动安装。
  (2)控件接口的调用
<script>
hah.TestFunction();
</script>
     注意,在C#中将TestFunction的访问权限设为public就可以了。在VC开发中,好象有专门地添加AxtiveX接口的地方。
5.ActiveX网上安装包的制作
  (1)新建安装部署项目,选择[安装项目],不是[web安装项目].
  (2)在这个安装项目下,添加一个[项目输出],选择一个控件项目,并在下面选择[主输出]那一行。确定后自动加入程序集。
  (3)打开[项目]->[属性],引导程序的下拉框选择

"web引导程序",点击后边的"设置",在安装文件夹URL中填入:http://172.16.20.94:8080/zd2/activex(与上一步的codebase是对应的)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值