.NET OCX开发
本文主要介绍怎么在.NET环境下开发OCX控件,打包安装部署程序,以及怎么在页面上调用控件。
开发
1、新建一个类库,然后打开类库的属性,应用程序→程序集信息
2、编辑程序集信息,主要是要把底部的 使程序集COM可见 勾上,点确定保存程序集信息
3、在类库的属性面板上选择 生成,拉到底部把 为COM互操作注册 勾上
4、在.NET下面开发OCX需要实现IObjectSafety接口,接口名称以及下面的GetInterfaceSafetyOptions和SetInterfaceSafetyOptions不要动
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;namespace Test
{[Guid("84D0FC9A-DAB8-4620-B687-B3F9C950F2C8")][InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]interface IObjectSafety{void GetInterfaceSafetyOptions(ref Guid riid, out int pdwSupportdOptions, out int pdwEnabledOptions);void SetInterfaceSafetyOptions(ref Guid riid, int dwOptionsSetMask, int dwEnabledOptions);}
}
5、输出class实现IObjectSafety后,它里面的方法就可以在页面上使用了
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.Windows.Forms;namespace Test
{[Guid("A79BF51F-D2E5-443A-BE7E-E7138FMEEFFB")]public class TestOCXMain : IObjectSafety{public void GetInterfaceSafetyOptions(ref Guid riid, out int pdwSupportdOptions, out int pdwEnabledOptions){pdwEnabledOptions = 2;pdwSupportdOptions = 1;}public void SetInterfaceSafetyOptions(ref Guid riid, int dwOptionsSetMask, int dwEnabledOptions){}/// <summary>/// 页面调用方法,执行代码/// </summary>/// <param name="str"></param>public void Main(string str){MessageBox.Show("你传给我的str : " + str);}}
}
打包
把程序打包成一个安装文件,在需要使用控件的客户端安装控件,就可以使用控件的功能了。
1、在解决方案下面添加一个安装部署项目,如图(因为我的VS2013没有安装这个东东,所以就只能用VS2010顶替一下)
2、选中项目,右键→添加 项目输出→选择输出主项目,确定
3、生成项目,在项目文件夹下面的Debug文件夹下面的.msi文件就是安装文件了。
使用
双击.msi文件,一直跑完就好。
页面上调用控件的方法:根据我们在程序中给定的GUID,在页面上添加<OBJECT id="TestOCX" classid="clsid:A79BF51F-D2E5-443A-BE7E-E7138FMEEFFB" style="width:0px;height:0px;display:none"></OBJECT>
,然后js获取这个对象就可以直接调用它的方法了。
如果调用的时候,提示对象属性不存在,或者其他的,需要添加可信站点,并且需要启用OCX控件。
.NET OCX开发相关推荐
- VS2010下ocx开发三部曲
目录 一.用C++ MFC ActiveX开发简单的ocx控件 二.在C#程序中调用ocx控件 三.在Web页面中调用已实现的ocx控件 四.OCX.COM的区别以及C++.C#和VB开发的组件的区别 ...
- VS2010下ocx开发:(2)在C#程序中调用ocx控件
在本文中,给出一个C#示例程序,调用上一篇博文中创建的MultiplyDemo.ocx控件.注意需要保证该控件已经注册过. 启动Visual Studio 2010,使用C#创建一个Windows窗体 ...
- 远程桌面协议 (RDP)
远程序桌面登录的.NET开发,可以使用MSTSCLib.dll和MsTscAxWrapper.dll两个转换过的动态库,而无需使用WINDOWS自带的OCX,因为使用OCX开发可以会遇到其它问题. 主 ...
- 疯狂的程序员-第二十八章
一般情况下人在什么情况下喝酒?多半朋友聚会聊到兴奋了,或者发生了什么刺激人的大事,比如恋爱了,失恋了,发财了,破产了-- 绝影想这么晚了,又没有什么聚会,BOSS Liu找自己喝酒,肯定是受了什么刺激 ...
- java知识体系介绍
国内最牛七星级团队马士兵.高淇等11位十年开发经验专家录制 目 录 百战程序员Java1573题 2百战程序员介绍 3JavaSE编程基础 9第一章 初识Java 9阶段项目课程1 11第二章 数据类 ...
- VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程 开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件.(此文章也是 ...
- [转]C#开发ActiveX控件,.NET开发OCX控件案例
引自:百度 http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...
- DELPHI 开发的 OCX 控件在 MFC 程序中编辑框快捷键不好使的解决
公司一个大型的项目中使用了 DELPHI 来开发 OCX 控件做数据库的管理,但是GIS图形系统使用 MFC 开发,最后将 OCX 嵌入到 MFC 程序中作为一个完整的系统交付用户使用,但是在使用过程 ...
- 一篇介绍VC开发OCX的文章,写得太棒了!!!
From: http://www.cnblogs.com/gengaixue/archive/2010/08/13/1799112.html VC2005从开发MFC ActiveX ocx控件到发布 ...
最新文章
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(配置数据点抖动显示jitter)实战
- 使用JavaScript在文本框中的Enter键上触发按钮单击
- java:合并两个排序的整数数组A和B变成一个新的数组。新数组也要有序。
- linux内核剖析(八)进程间通信之-管道
- iPad的无纸化办公和纯纸化办公的区别和使用场景
- 适合0基础的web开发系列教程-换行和水平线
- 【刷题】BZOJ 2125 最短路
- micropython esp8266教程_ESP8266 快速开发指南
- mysql case when 解释_mysql 语法一 :case when详解
- Knowladge_网站学习_jQuery插件
- 多迪技术总监告诉你:学习Python语言有哪些就业方向?
- 人物抠图(Photoshop技巧系列)
- 设计一个简单的家乡网站
- 土建类技术质量知识题库
- 苹果手机HTML页面滑动卡顿
- 四分位数计算方法总结
- 2021-2027全球与中国工业自动化定位传感器市场现状及未来发展趋势
- 多项式根的因式分解理论.
- 微信公众号(服务号/订阅号/小程序)注册详细流程
- linux sftp创建多用户,Linux 下创建 sftp 用户并限定目录
热门文章
- APP瘦身大法--AndResGuard的使用
- 用html制作编写静态日志,[译] 编写一个小型静态网站生成器
- as转html5工具,HTML5 Convas APIs方法详解
- 几种媒体文件(MediaPlayer,Realplay,QuickTime)的调用代码
- 海康威视SDK控制台程序consoleDemo将实时码流保存为视频文件mp4
- UE4 蓝图学习 FlipFlop
- jsp页面如何调用本机的应用程序?例如c:/netterm.exe?(转载)
- Discuz数据库调用:DZ模板调用常用代码手册
- 计算机软件投资所得税减免,个人以计算机软件著作权增资可以享受延迟纳个税的优惠吗...
- 大型网站架构演进历程