如何使用C#开发“类ActiveX组件”
<div id="cnblogs_post_body"> 首先解释一下&ldquo;类ActiveX组件&rdquo;:ActiveX在本质上是属于COM组件,是二进制组件,并且是属于非托管的;而.NET开发出来的东西都是托管的,不是真正意义上的二进制组件。因此从严格意义上来讲,C#开发出来的东西不是真正的ActiveX组件,因此才叫做&ldquo;类ActiveX组件&rdquo;。这篇文章本来是想在上周写的,但是上周一直忙于公司的事情,就没有时间来写。本文主要是介绍一下项目中的经历,分享一下开发的心得。
前一段时间,公司在项目中要增加一个新的模块,大致的结构是这样子的:
1、这是一个C/S的应用;
2、在客户端安装一个一个启动的程序(这个程序很小,仅有几M);
3、所有的资源、数据都在服务器端存放,如果需要(比如数据、图片、声音等),客户端程序就判断本地是否有这些资源,如果没有就从服务器下载然后保存在本地,如果有就就直接在本地读取;
4、要在Web浏览器中启动这个应用程序。
这样的结果对我来讲是第一次遇到,并且对时间要求的很紧,所以当时简单的思考了一下,觉得这样主要是面临两个问题&mdash;&mdash;1、如何从网页中启动一个C/S程序;2、浏览器如何才能知道这个C/S程序是否已经安装,因为如果没有安装就需要提示用户安装,如果已经安装就直接打开。
对于第一个问题,因为知道QQ能从网页中发起一个会话,所以研究了一下相关的内容,很容易就解决了,基本原理是这样的:在注册表里面添加一个自定义的超链接协议即可,然后就可以通过这种方式打开你的程序:
<div class="cnblogs_code">1 <a href="myProtocol://PragramName">打开我的协议</a>
页:
[1]