欢迎来到天天文库
浏览记录
ID:39573807
大小:315.50 KB
页数:9页
时间:2019-07-06
《使用C#开发ActiveX控件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、使用C#开发ActiveX控件附件下载(源代码+安装文件+教程)0.前言 ActiveX控件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中。使用ActiveX插件,可以轻松方便的在Web页中插入多媒体效果、交互式对象以及复杂程序等等。 通常使用C++或VB开发ActiveX控件,本文探讨一下在VisualStudio2005环境中使用C#开发ActiveX控件的技术实现。1.问题场景 在C/S架构的系统中,客户端要实现某些业务功能,可以通过安装相关的应
2、用程序集来方便的实现。同样的需求,在B/S架构的系统里实现起来却比较困难。因为所有的程序都放在服务器端,客户端只是采用浏览器,通过HTTP协议来访问服务器端。比较成熟的解决办法是开发ActiveX控件安装到客户端,这样客户端的浏览器就可以访问本地的ActiveX控件来执行相关的本地操作。本文将要谈论的,就是使用C#开发一个ActiveX控件实现读取并显示客户端的系统时间。2.开发环境WindowsXPVisualStudio2005.NETFramework2.0(C#)3.实现过程3.1.ActiveX控件开发 在Vis
3、ualStudio2005开发环境中,可以使用Windows控件库项目实现ActiveX控件的开发,但是需要对项目做一些必要的设置。下面就来看看如何使用Windows控件库项目开发一个ActiveX控件。首先创建一个应用程序解决方案,并添加一个Windows控件库项目: 更改“项目属性-应用程序-程序集信息”设置,勾选“使程序集COM可见”: 更改“项目属性-生成”设置,勾选“为COMInterop注册”(注意,此处如果实在debug状态下修改的,那在调到release状态下还需要再设置一次):
4、修改AssemblyInfo.cs文件,添加[assembly:AllowPartiallyTrustedCallers()]项(需要引用System.Security名称空间): using System.Reflection;using System.Runtime.CompilerServices;using System.Runtime.InteropServices;using System.Security;[assembly: AssemblyTitle("Yilin.Preresearch.CSharpActiveX
5、")][assembly: AssemblyDescription("")][assembly: AssemblyConfiguration("")][assembly: AssemblyCompany("10BAR")][assembly: AssemblyProduct("Yilin.Preresearch.CSharpActiveX")][assembly: AssemblyCopyright("Copyright © 10BAR 2009")][assembly: AssemblyTrademark("")][assembl
6、y: AssemblyCulture("")][assembly: AllowPartiallyTrustedCallers()][assembly: ComVisible(true)][assembly: Guid("114d1f0c-43b8-40ac-ae7c-5adccc19aef3")][assembly: AssemblyVersion("1.0.0.0")][assembly: AssemblyFileVersion("1.0.0.0")] 添加一个Windows用户控件: 按照开发Window
7、s用户控件一样的思路完成该控件的开发,本例中主要实现了两个业务功能,一个是提供一个公共方法,用于读取USBKey中保存的签名证书,保存到本地C盘根目录下,并返回操作信息;另一个业务功能提供UI界面,包括一个Button控件和一个Label控件,Button控件的Click事件调用前面提供的那个方法,并将返回信息显示到Label控件上。这样做可以达到两个目的,其一,ActiveX控件提供公共方法供B/S程序直接调用,从后实现业务功能;其二,ActiveX控件可以提供B/S程序UI界面,通过响应B/S程序中对UI的操作事件实现业务功能。
8、 完成控件开发后,为了使该用户控件作为一个ActiveX控件进行使用,还需要做以下修改: 首先,为控件类添加GUID,这个编号将用于B/S系统的客户端调用时使用(可以使用工具-创建GUID菜单创建一个GUID):
此文档下载收益归作者所有