C#开发ActiveX控件并应用于网页
在C#中相对应的是COM组件,编译后是dll而不是ocx。所以在C#中,在创建项目时只能创建类库项目。
下面我教大家如何一步一步来实现。
- 以管理员的身份启动VS,我的是VS2015。新建类库DevControlColl,框架选择2.0即可。
- 环境配置(勾选一下两个选项)
- 对AssemblyInfo.cs进行编辑,修改相应的属性
// 将false更改为true,自动生成的注释也做了说明[assembly: ComVisible(true)] //新添加下面的属性。该属性要求引用System.Security [assembly: AllowPartiallyTrustedCallers()] // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID //[assembly: Guid("92eb428e-1894-4ca2-8e88-20fd0bb15ee5")] //注释掉该属性要引用:using System.Security;
- 定义IObjectSafety接口(无需修改,GUID不可修改)
[Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]public interface IObjectSafety{ void GetInterfacceSafyOptions(System.Int32 riid, out System.Int32 pdwSupportedOptions, out System.Int32 pdwEnabledOptions);void SetInterfaceSafetyOptions(System.Int32 riid, System.Int32 dwOptionsSetMask, System.Int32 dwEnabledOptions);}
- 为将发布控件设置GUID码
[Guid("92eb428e-1894-4ca2-8e88-20fd0bb15ee5")]public partial class TreeList : UserControl, IObjectSafety// 实现如下public void GetInterfacceSafyOptions(int riid, out int pdwSupportedOptions, out int pdwEnabledOptions){pdwSupportedOptions = 1; //不要修改该代码pdwEnabledOptions = 2; //不要修改该代码return;}public void SetInterfaceSafetyOptions(int riid, int dwOptionsSetMask, int dwEnabledOptions){return;}
设计的空间UI如下:
- 注册DevControlColl.dll
.NET自带的注册工具RrgAsm.exe工具,而且使用的注册工具版本一定要与开发框架版本一起发布的版本。
我写了两个简单的批处理。
注册:
cd C:\Windows\Microsoft.NET\Framework\v2.0.50727
RegAsm.exe G:\MyCode\comocx\DevControlColl\DevControlColl\bin\Debug\DevControlColl.dll
pause
注销:
cd C:\Windows\Microsoft.NET\Framework\v2.0.50727
RegAsm.exe /u G:\MyCode\comocx\DevControlColl\DevControlColl\bin\Debug\DevControlColl.dll
pause
- 做一个简单网页,将注册的空间嵌入。
<!DOCTYPE html>
<html>
<head lang="en"><meta charset="UTF-8"><title></title>
</head>
<body><div style="margin:100px auto;border:1px solid #000;width:500px;height:500px;"><OBJECT ID="treeList" CLASSID="CLSID:92eb428e-1894-4ca2-8e88-20fd0bb15ee5"></OBJECT></div>
</body>
</html>
核心嵌入代码:
<OBJECT ID="treeList" CLASSID="CLSID:92eb428e-1894-4ca2-8e88-20fd0bb15ee5">
"92eb428e-1894-4ca2-8e88-20fd0bb15ee5"就是最开始的那个GUID码。
嵌入效果如下:
大功告成了。这只是开始,希望能给大家带来帮助。
C#开发ActiveX控件并应用于网页相关推荐
- [转]C#开发ActiveX控件,.NET开发OCX控件案例
引自:百度 http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...
- 使用C#开发ActiveX控件[Obsolete]
附件下载(源代码+安装文件+教程) 0. 前言 ActiveX控件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中.使用ActiveX插件,可以轻松方 ...
- [转]使用C#开发ActiveX控件
前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...
- C#开发Activex控件--与JavaScript的互调
实现了ActiveX控件之后,在网页上的使用方式一般为: <object id="grid" classid="clsid:9661B223-6188-4849-B ...
- 使用C#开发ActiveX控件
0. 前言 ActiveX控件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中.使用ActiveX插件,可以轻松方便的在 Web页中插入多媒体效果.交 ...
- (转)使用C#开发ActiveX控件
本文转载自:http://www.cnblogs.com/yilin/archive/2009/09/15/1567332.html 附件下载(源代码+安装文件+教程) 0. 前言 ActiveX控件 ...
- 27.4.1 开发ActiveX控件
本控件只是个示例,功能比较简单,共有三个方法,本别是获取当前个人存储区证书列表.获取指定证书.使用指定证书签名.在Windows下使用Visual C++ 6.0开发ActiveX控件的步骤如下所示. ...
- 使用C#开发ActiveX控件(新)
前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...
- 开发ActiveX控件调用另一个ActiveX系列0——身份证识别仪驱动的问题
程序员要从0下表开始,这篇是介绍这个系列的背景的,没有兴趣的人可以直接跳过. 为什么要开发ActiveX控件 由于工作需要,我们开发了一个网站,使用了一款身份证识别仪的网页ActiveX(OCX)插件 ...
最新文章
- Quartus II sof文件转 jic文件
- 网站互点排名掉了网站互点排名掉了网站互点_7天上百度首页排名优化技巧有哪些?...
- 欧拉函数/欧拉函数打表 lightoj1370(java/c++ )
- 『设计模式』电话接线员与中介者模式
- Azure 内容审查器之羞羞图审查
- 【转载】keil5中加入STM32F10X_HD,USE_STDPERIPH_DRIVER的原因
- matlab 数据是否符合正态分布的判断方法
- 易语言操作php文本文件,易语言对文本操作的步骤教学
- python中selenium打开浏览器拿不到url_Selenium打开浏览器,但在Chrome和Firefox中都无法获取URL...
- oracle plsql递归查询语句,oracle with 语句实现递归查询
- mysql 动态插入日期_mysql 如何动态传入一个时间得到此时间的某个时间点
- easymock接口模拟_EasyMock部分模拟
- 陕西网络培训学院自动学习简易脚本
- 魔兽世界稳定服务器,魔兽世界美服服务器趋于稳定 排队新技术将实装
- 帝国栏目导航点击显示不同样式的实现
- 将.fits数据转换为.png图像
- python写数学公式大全_数学公式书写
- 解决Excel 2010打开两个以上文件时,总只显示一个窗口
- 【论文阅读|深读】LINE: Large-scale Information Network Embedding
- 【Aegisub特效模板】纯白交响曲 OP 4种字体风格
热门文章
- macpro台式计算机,被工业设计震撼,Mac pro 垃圾桶升级
- Android下USB Accessory的实现分析 (一)--- AOA背景介绍
- 厉害了!教你如何在手机连上WiFi时仍然使用移动网络
- 《童梦奇缘-梦幻般的羁绊》第八章-殇变
- Gradle for Android 第一篇( 从 Gradle 和 AS 开始 )
- 开源项目-十六进制协议传感器自适应缩放曲线显示终端(百问网imx6ull 小熊派结合)...
- Visual Studio 2014 预览版 CTP3 发布了!可以下载
- sftp之概述、搭建、命令
- JavaScript 异常(例外)处理
- 小米创始人离职,背后这 3 点值得深思