入职差不多两个月了,由学生慢慢向职场人做转变,也慢慢的积累知识,不断的更新自己。最近的一个项目里边,涉及到的一些问题,因为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调用的更多相关文章

  1. c# 开发ActiveX控件,添加事件,QT调用事件

    c# 开发 ActiveX 的过程参考我的另一篇文章 :  https://www.cnblogs.com/baqifanye/p/10414004.html 本篇讲如何 在C# 开发的ActiveX ...

  2. ATL开发 ActiveX控件的 inf文件模板

    ATL开发 ActiveX控件的 inf文件模板    

  3. 使用C#开发ActiveX控件(新)

    前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...

  4. [转]C#开发ActiveX控件,.NET开发OCX控件案例

    引自:百度   http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...

  5. 使用C#开发ActiveX控件(新) 转 http://www.cnblogs.com/yilin/p/csharp-activex.html

    前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...

  6. [转] 使用C#开发ActiveX控件

    双魂人生 原文 使用C#开发ActiveX控件 ActiveX 是一个开放的集成平台,为开发人员.用户和 Web生产商提供了一个快速而简便的在 Internet 和 Intranet 创建程序集成和内 ...

  7. 使用C#开发ActiveX控件 11

    C#开发ActiveX控件   ActiveX 是一个开放的集成平台,为开发人员.用户和 Web生产商提供了一个快速而简便的在 Internet 和 Intranet 创建程序集成和内容的方法. 使用 ...

  8. C#开发ActiveX控件

    昨天写了篇博客<Winform 程序嵌入WPF程序 并发送消息>,没有说明为什么要嵌入WPF程序,那么今天就来唠叨唠叨其中的一个使用场景,开发ActiveX控件 首先,新建一个类库工程Hu ...

  9. 使用C#开发ActiveX控件

    使用C#开发ActiveX控件(新) 前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动 ...

随机推荐

  1. 利用varnish做Discuz论坛的缓存服务器

    实验背景:公司有一台BBS服务器,用的是LNMP的架构搭建的.正好手头有一台空闲的虚拟机,于是想着给BBS前端加一台缓存服务器.于是选定了varnish,搜了很多教程,跌跌撞撞的完成了配置.这其中很多 ...

  2. 直播时代--IOS直播客户端SDK,美颜直播【开源】

    当前视频直播非常火爆,手机端的视频直播也非常火爆,PGC.UGC的视频直播门槛都降低了很多. 本文介绍一个:IOS 客户端直播的SDK,代码完全开源. 直播时代:让IOS普通开发者一天内做出一个RTM ...

  3. NOIP2001 一元三次方程求解[导数+牛顿迭代法]

    题目描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差 ...

  4. 洛谷P1134 阶乘问题[数论]

    题目描述 也许你早就知道阶乘的含义,N阶乘是由1到N相乘而产生,如: 12! = 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 = 479,001, ...

  5. 用MATLAB对信号做频谱分析

    1.首先学习下傅里叶变换的东西.学高数的时候老师只是将傅里叶变换简单的说了下,并没有深入的讲解.而现在看来,傅里叶变换似乎是信号处理的方面的重点只是呢,现在就先学习学习傅里叶变换吧. 上面这幅图在知乎 ...

  6. AC日记——寻找道路 洛谷 P2296

    题目描述 在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 1 .路径上的所有点的出边所指向的点都直接或间接与终点连通. 2 .在满足条 ...

  7. swift的后台编码路

    链接: 一步一步学swift之:自己写Api接口-PHP    

  8. (转载)SQL删除重复数据方法

    本文转载自http://www.cnblogs.com/sunxiaonan/archive/2009/11/24/1609439.html 例如: id           name         ...

  9. ORACLE实验一-三

    警告: 创建的触发器带有编译错误. SQL> show error;TRIGGER TRG_SCORE_AFT_ROW 出现错误: LINE/COL ERROR-------- -------- ...

  10. 转 android 从底部弹出一个popuwindow,渐入渐出效果。我这里是用在购物车需要选择购买选项的操作。

    最近要改客户端,需要实现一个从底部弹出的popuwindow,像我这种渣渣android技术,能整出popuwindow但是整不出动画,百度之,记录一下. 从下面这个地址转的 http://blog. ...