浏览器插件之C#开发\"ActiveX\"(一)
一、 搜罗的知识
网页本身的功能是有限的,要想实现一些网页本身不支持的功能,比如:网页上的p2p视频播放,就得靠ActiveX这种技术了。ActiveX控件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中。使用ActiveX插件,可以轻松方便的在 Web页中插入多媒体效果、交互式对象以及复杂程序等等。
通常使用C++或VB开发ActiveX控件,
严格意义上讲,c#是不能生成纯正ocx控件的,在vs.net中也没有专门的\"ActiveX项目\"新建项,最多也只就能新建\"类库\"得到一个dll而非ocx(因此我们也无法用传统的regsvr32来注册该dll),但是c#能开发com组件,activeX控件本质上讲跟com是一类技术,所以用c#开发\"能够让网页调用的com类库\"还是可行的。
二、开发的步骤
综述:本文讲述下在Visual Studio 2005环境中使用C#开发\"ActiveX\"控件并在网页中调用的过程,最后阐述如何对浏览器中嵌入的ActiveX控件在VS启用调试。PS:仅限IE浏览器
第一步新建Windows控件库
添加一个PictureBox控件和一个按钮,并为按钮点击事件和类库加载事件分别添加处理函数,如下
private void button1_Click(object sender, EventArgs e) {
MessageBox.Show(Properties.Resources.Str1,Properties.Resources.Str2,MessageBoxButtons.OK,MessageBoxIcon.Information); }
private void UserControl1_Load(object sender, EventArgs e) {
pictureBox1.Image = Properties.Resources.科比; }
第二步设置类库一些属性
2.1在解决方案导航栏右键工程选择属性,点击“应用程序”选项卡-程序集信息..-勾选使程序集COM可见,如图
2.2点击”生成“选项卡-勾选为COM Interop注册,如图
2.3在Assembly.cs中添加属性代码
//允许部分受信任的代码调用具有强名称的程序集。如果没有此声明,则只有完全受信任的调用方才可以使用这类程序集
[assembly:System.Security.AllowPartiallyTrustedCallers()]
2.4在UserControl1.cs文件里类声明前命名空间下添加全球唯一标识属性代码,这个GUID用于在网页标签元素中作为ID使用的
[Guid(\"9A15E63F-1761-4f99-B740-512AD1C63D7E\")]---(自己生成GUID) 如下图
第四步 生成项目DLL,成功后。用OLE/COM Object Viewer查看,
依次展开Objects Classes-All Objects,就会看到刚才的DLL已经注册成COM。 右键A.SHIJIERUCIMEIHAO.UserControl1节点选择COPY HTML