使用VS2010 C#开发ActiveX控件(上)

2019-12-26 11:10:47于丽
最近做读卡器的B/S应用程序开发,由于读卡器厂商提供的手册都是C/S版本的,而且只有一个原始的Dll包,并没有web版的,那么就只好自己动手,丰衣足食了        要开发Web版的读卡程序,大体思路如下:

1.       使用C#对原始的Dll进行封装,这里要封装两部分内容,一部分是串口通信的功能,一部分是对卡读写的功能。

2.       开发ActiveX控件调用封装后的Dll,使用串口通信来对卡进行读写。

3.       打包并发布ActiveX控件。

4.  使用ActiveX控件。

思路1中封装代码有2个类SerialInterfaceHelper,串口通信的帮助类,MifareOneHelper,M1卡的读写帮助类,我们放在了项目CardReader.Library中。

由于本文的重点是使用VS 2010(C#)进行ActiveX控件的开发,因此思路1中的内容就不进行详述了,后面会直接给出类库可以参考。本文的实例中演示C#开发

一个ActiveX读卡器控件,实现读取卡号并显示出卡号或异常信息的功能,分成三个大的步骤来实现:开发ActiveX控件、打包并发布ActiveX控件和使用

ActiveX控件。


   开发ActiveX控件

     常见的一些ActiveX大部分是使用VB、Delphi、C++开发,使用C#开发ActiveX要解决下面三个问题:

(1)使.NET组件可以被COM调用

(2)在客户机上注册后,ActiveX控件能通过IE的安全认证 

(3)已在客户机上注册时,安装包能通过IE的签名认证

开发ActiveX步骤:

1. 创建Windows Forms Control Library项目CardReader.Controls,设置项目属性能够被COM调用。

右击CardReader.Controls,选择属性,设置项目的Assembly属性,如下图1所示:

使用VS2010 C#开发ActiveX控件(上)