用C#开发ActiveX控件,并使用web调用
入职差不多两个月了,由学生慢慢向职场人做转变,也慢慢的积累知识,不断的更新自己。最近的一个项目里边,涉及到的一些问题,因为SDK提供的只是winform才能使用了,但是有需求咱们必须得完成啊,所以涉及到的ActiveX控件开发并用web来显示的,正好也总结一些,之前在学校一直没有接触过,网上是有教程的,但是大多有问题,只有自己亲自测试通过了才放心。(转发请注明来源:http://www.cnblogs.com/EminemJK/)
一、开发ActiveX控件
1、新建类库,命名类库名称“user.cs”;
2、在类库中添加自定义用户控件“ UserControl1”,实现各种自定义功能;
3、为了解决浏览器安全设置对控件的影响,必须在组件中加入IObjectSafety接口,所以再添加一个接口类“IObjectSafety.cs”
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI.WebControls.WebParts; //必须引用该包
using System.Security;
using System.Runtime.InteropServices; //必须引用该包 namespace user
{
[Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] //GUID这个不需修改,固定的 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); } }
4、继承接口
public partial class UserControl1: UserControl,IObjectSafety
{
public UserControl1()
{
InitializeComponent();
}
public void GetInterfacceSafyOptions(System.Int32 riid, out System.Int32 pdwSupportedOptions, out System.Int32 pdwEnabledOptions)
{
pdwSupportedOptions = ; //不要修改该代码
pdwEnabledOptions = ; //不要修改该代码
return;
} public void SetInterfaceSafetyOptions(System.Int32 riid, System.Int32 dwOptionsSetMask, System.Int32 dwEnabledOptions)
{
return;
}
public void YourFunc(){}
}
5、在UserControl1引入两个命名空间
using System.Security;
using System.Runtime.InteropServices;
并在AssemblyInfo.cs文件中添加代码
[assembly: AllowPartiallyTrustedCallers()]
6、工具——创建GUID——新建GUID——选择第五项——复制,就可以关闭小窗口,然后在命名空间下粘贴,如下
namespace user
{
[Guid("7F29ACED-AD84-4EEE-9E1A-58BE255F9EF7")] //这个GUID是web引用的时候用到的 public partial class UserControl1: UserControl,IObjectSafety
{
……

7、最后一步,项目——user属性(最后一项),两处需要修改
①应用程序——程序集信息——√ 使程序集COM可见
②生成——√ 为COM互操作注册
8、即可右键项目user——生成
二、web使用ActiveX控件
在web调用很简洁,引用刚刚生成的dll文件,然后在添加
<body>
<form id="form1" runat="server">
<div >
<object id="VisioDisPlay"
classid="clsid:7F29ACED-AD84-4EEE-9E1A-58BE255F9EF7"
width="1250"
height="600"
>
</object>
</div>
</form>
即可完成。注意的是:这里的classid里边的字符串里边有 “ clsid: ”,别忘啦,后面接的是第六步生成的GUID,必须一致!
好了,该吃午饭了,有什么不足的,忘园子大咖们批评指出。
数字签名 时间戳
http://timestamp.verisign.com/scripts/timestamp.dll
用C#开发ActiveX控件,并使用web调用的更多相关文章
- c# 开发ActiveX控件,添加事件,QT调用事件
c# 开发 ActiveX 的过程参考我的另一篇文章 : https://www.cnblogs.com/baqifanye/p/10414004.html 本篇讲如何 在C# 开发的ActiveX ...
- ATL开发 ActiveX控件的 inf文件模板
ATL开发 ActiveX控件的 inf文件模板
- 使用C#开发ActiveX控件(新)
前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...
- [转]C#开发ActiveX控件,.NET开发OCX控件案例
引自:百度 http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...
- 使用C#开发ActiveX控件(新) 转 http://www.cnblogs.com/yilin/p/csharp-activex.html
前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...
- [转] 使用C#开发ActiveX控件
双魂人生 原文 使用C#开发ActiveX控件 ActiveX 是一个开放的集成平台,为开发人员.用户和 Web生产商提供了一个快速而简便的在 Internet 和 Intranet 创建程序集成和内 ...
- 使用C#开发ActiveX控件 11
C#开发ActiveX控件 ActiveX 是一个开放的集成平台,为开发人员.用户和 Web生产商提供了一个快速而简便的在 Internet 和 Intranet 创建程序集成和内容的方法. 使用 ...
- C#开发ActiveX控件
昨天写了篇博客<Winform 程序嵌入WPF程序 并发送消息>,没有说明为什么要嵌入WPF程序,那么今天就来唠叨唠叨其中的一个使用场景,开发ActiveX控件 首先,新建一个类库工程Hu ...
- 使用C#开发ActiveX控件
使用C#开发ActiveX控件(新) 前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动 ...
随机推荐
- Silicon Labs
Silicon Labs(美国芯科实验室)总部位于美国德克萨斯州的奥斯汀,成立于1996年,拥有全球化的运营.销售和研发团队,是一家业界领先的高性能混合信号IC供应商,为业界提供易用的高度集成化产品方 ...
- KAFKA一异常处理记录
kafka-console-consumer.sh --topic TOPIC_KEYWORD --from-beginning --zookeeper localhost报异常,Exception ...
- star ccm+ 11.02安装
STAR CCM+是CD-Adapco公司的主打软件,其安装方式较为简单,这里以图文方式详细描述STAR CCM+11.02安装过程. 1 安装准备工作2 正式安装3 软件破解4 软件测试 1 安装准 ...
- <<一种基于δ函数的图象边缘检测算法>>一文算法的实现。
原始论文下载: 一种基于δ函数的图象边缘检测算法. 这篇论文读起来感觉不像现在的很多论文,废话一大堆,而是直入主题,反倒使人觉得文章的前后跳跃有点大,不过算法的原理已经讲的清晰了. 一.原理 ...
- 关于selenium的CI、框架……
这段时间除了项目测试外,主要在做web自动化的事情,大致总结一下吧,总体的设计模式pageobject+pagefactory+testng的数据驱动,项目用maven来构建,使用jenkins集成, ...
- Freemarker与Springmvc
1.导入springmvc和freemarker的jar包 2.web.xml中配置Spring和Springmvc <?xml version="1.0" encoding ...
- win7中VS2010中安装CSS3.0问题解决方法
win7中VS2010中安装CSS3.0问题解决方法 在安装Standards Update for VS2010 SP1后,VS2010中没有CSS3.0问题,以下是我的解决方法 1.首先去官网 ...
- Python-13-堡垒机开发
今天主要是熟悉堡垒机开发流程.
- discuz论坛插件设计学习培训视频全套教程
discuz模板跟插件开发的教程比较少,特搜集给大家学习插件做的好,在dsicuz应用中心出 售也是可以卖不少的呢 教程目录:第1章 本章的标题第1节Discuz! X 产品安装与配置第2节模板风格 ...
- js 运算符
一.算术运算符: 1.运算符: “+”:功能:对数字进行代数求和:对字符串进行连接操作:将一个数值转换为字符串(数值+空字符串). “-”:功能:对操作数进行取反操作:对数字进行减法操作:将字符串转换 ...