Create Asp.net ActiverX Step by Step

   最近几天研究ActiveX ,做了个小例子,小记之。

一、开发环境

  1、开发工具:VS2008;

  2、开发语言:C#、Asp.net、js

  3、操作系统:Winows7。

 二、创建插件

   1、创建一个类库命名为Activerx,修改类的名字为ActiveXObject。

       代码如下:

   

2、生成强命名文件(snk)

    

将该文件拷贝到项目路径下面,并将项目(类库)的Assemly.cs 文件修改一下:

 3、将类库注册为Com组件

    右键类库,选择属性,在出现的面板里【生成】选项>勾选【为Com互操作注册】,生成即可。

三、制作ActiveX Setup安装文件

  1、新建一个安装项目;

  2、在项目上点右键,【添加】->【项目输出】,选择上边的项目Activerx;

  3、生成项目。(此时可能会在当前系统中注册插件,参见一中的代码)

四、安装(注册)插件

  1、 在第三步骤中生成的安装包Setup.exe,点击安装即可(安装过程中,可以选择安装路径,此路径是调用插件dll文件所需路径)。

  2、或直接用regasm命令注册插件。如下:

  

 3、注销插件

    可以用命令 regasm /unregister activerx.dll路径。

五、创建客户端页面

 1、页面代码如下:

 

 2、运行程序,在客户端IE中可能会阻止插件运行。此时请确定两点:

   A:IE浏览器->工具->Internet选项->安全->可信站点->站点 将当前IE地址栏中的URL加入进去。完毕后,在安全面板中,选中可信站点->自定义级别->Activex 控件和插件-> 对未标记为可执行脚本的Activex控件初始化并执行脚本->启用。

  B:确定Activex插件已成功将信息注册到信息表中。

      打开注册表(运行命令regedit),搜索插件classid:121C3E0E-DC6E-45dc-952B-A6617F0FAA32。成功注册的话,如图所示:

 四、发布程序。客户端成功运行结果如下:

 

五、其它

  1、本文只是简单了解下使用C#开发ActiveX控件,很多东西还没弄清楚,有问题的话,欢迎提出来。

  2、该Activex插件没有签名,至于怎么做安全签名,暂时还没来得及搞明白,有哪为仁兄知道的话,请不吝赐教!

  3、制作CAB包,参照如下步骤:

 

cab的安装制作:

下载cabsdk的工具,微软网站上有的下。

下载后执行如下:

C:/cabsdk/BIN/MyTreeActiveX>cabarc.exe n TreeActiveX.cab TreeActiveXSetup.msi My
TreeActiveX.inf

Microsoft (R) Cabinet Tool - Version 1.00.0601 (03/18/97)
Copyright (c) Microsoft Corp 1996-1997. All rights reserved.

Creating new cabinet 'TreeActiveX.cab' with compression 'MSZIP':
  -- adding TreeActiveXSetup.msi
  -- adding MyTreeActiveX.inf

Completed successfully

会生成一个TreeActiveX.cab的文件,网页上就可以使用了。

对了。inf的定义:

[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Setup Hooks]
hook1=hook1

[hook1]
run=msiexec.exe /i "%EXTRACT_DIR%/TreeActiveXSetup.msi" /qn

 

网页的写法:

<object id="ActivexObject" name="ActivexObject" width="100%" height="100%" classid="clsid:A5C532BA-45B2-44c7-ACAE-D526EF9D47B0"></object>

<script language='javascript'   for='ActivexObject'   event='OnDial(tel,uppkey)'>  

dosame…

</script>

 

通过以上步骤完成ActiveX的编写,cab的制作和网页的部分。部署好后,会正常使用。

不过该ActiveX没有签名,所有需要设定一下ie,允许下载为签名的activex才可以正常下载和使用。

---------------------------------------------------------------------------------------------------------------

本文参考:

http://www.codeproject.com/KB/cs/CreateActiveXDotNet.aspx

http://blog.bossma.cn/dotnet/csharp-activex-cab/comment-page-1/#comments

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值