给自己的ocx,dll等控件做个数字签名

给自己的ocx,dll等控件做个数字签名
给自己的ocx,dll等控件做个数字签名

如何给ocx,dll控件进行数字签名

下面用到的命令可以从Microsoft Visual Studio 6.0安装后的SDK_bin 目录中找到

1、制作证书

makecert -sv bksx.pvk -ss "某某IE插件" -n "CN=公司名

称,E=lga@https://www.360docs.net/doc/548281970.html,,O=LGA" bksx.cer

这个是制作证书

-sv 是制作加密的文件

-ss 主题的证书存储名称

CN 是公司E=EMail O=认证公司的名称

bksx.pvk 是私人密钥文件

bksx.cer 是证书文件

其中,运行过程中需要输入私人密钥的保护密码。

2、证书格式间转换(转换cer 格式为spc 格式,不转也可以使用)

cert2spc bksx.cer bksx.spc

3、给文件签名*.dll\*.ocx\*.exe(如果是提供WEB 下载安装的签*.cab 文件)

4、用chktrust 检查是否正确

chktrust -v test.ocx(或chktrust -v test.cab)

网页引用参考:

参数仅作参考,每个ocx,dll 的都不一样

CLASSID="CLSID:4CBBC676-507F-11D0-B98B-000000000000" CODEBASE="http://127.0.0.1:8080/test.cab">

卸载参考:

自己去下面的目录看吧

C:\WINNT\Downloaded Program Files

给自己的ocx,dll等控件做个数字签名,未认证当然是不被信任的:)

下面用到的命令可以从Microsoft Visual Studio 6.0安装后的SDK_bin目录中找到

1、制作证书

makecert -sv bksx.pvk -ss "北控三兴IE插件" -n "CN=北控三兴,E=lga@163. com,O=LGA" bksx.cer

这个是制作证书

-sv 是制作加密的文件

-ss 主题的证书存储名称

CN是公司E=EMail O=认证公司的名称

bksx.pvk是私人密钥文件

bksx.cer是证书文件

其中,运行过程中需要输入私人密钥的保护密码。

2、证书格式间转换(转换cer格式为spc格式,不转也可以使用)

cert2spc bksx.cer bksx.spc

3、给文件签名*.dll\*.ocx\*.exe(如果是提供WEB下载安装的签*.cab文件)

4、用chktrust检查是否正确

chktrust -v test.ocx(或chktrust -v test.cab)

网页引用参考:

参数仅作参考,每个ocx,dll的都不一样

CLASSID="CLSID:4CBBC676-507F-11D0-B98B-000000000000" CODEBASE="http://127.0.0.1:8080/test.cab">

卸载参考:

自己去下面的目录看吧

C:\WINNT\Downloaded Program Files

ocx控件制作步骤

制作activex控件(ocx)步骤1.安装IDE(.NET) 2.第一步 3.第二步

4.第三步 双击解决方案中的backup3Ctrl 5.第四步 制作按钮控件需要编辑的事件 属性中 得到按钮按下事件,编辑代码 void Cbackup3Ctrl::OnLButtonDown(UINT nFlags, CPoint point) { if( MessageBox("确定要开始帐前备份吗?", "确定 ",MB_YESNO|MB_DEFBUTTON2)==IDYES)

WinExec("c:\\中心日终\\backup_before.bat", SW_SHOW); else return; COleControl::OnLButtonDown(nFlags, point); } 6.第五步 在代码中找OnDraw方法:填写代码 // Cbackup3Ctrl::OnDraw - 绘图函数 void Cbackup3Ctrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid) { DoSuperclassPaint(pdc, rcBounds); CSize Extent = pdc->GetTextExtent("备份中"); CPoint pt( rcBounds.CenterPoint().x - Extent.cx/2, rcBounds.CenterPoint().y - Extent.cy/2 ); int nMode = pdc->SetBkMode(TRANSPARENT); pdc->TextOut(pt.x, pt.y, "备份中"); } 7.第六步 生成解决方案

ActiveX控件的开发及其工控界面设计

文章编号:1006-1576(2005)03-0105-02 ActiveX控件的开发及其工控界面设计 范艳军,孙力 (华南理工大学自动化科学与工程学院,广东广州 510640) 摘要:ActiveX控件的开发及其工控界面设计,采用VC框架和类向导开发,以MFC ActiveX ControlWizardk自动生成空OCX文件,并将设备作成OCX文件。设备控件外观可通过PHOTOSHOP画出或将设备照片作为资源文件载入控件得到。通过控件的事件,方法和属性以实现控件与工控软件内核的沟通。 关键词:ActiveX控件;工控界面;VC;OCX文件 中图分类号:TP391.9 文献标识码:A Development of ActiveX Control and Design of Industrial Control Interface FAN Yan-jun, SUN Li (College of Automation Science & Engineering, South China University of Technology, Guangzhou 510640, china) Abstract: The ActiveX control is developed and interface of industrial control is designed with the VC frame and guide of class. An empty OCX file was created automatically with MFC ActiveX Controlwizard, and the control of equipment was made into the field OCX. The facade of equipment control was drawn with PHOTOSHOP or the photo of equipment used as VC resource file was loaded control. The communication between control and the kernel of industrial control software is realized through control event, method and attribute. Keywords: ActiveX; Industrial control interface; VC; OCX file 1 引言 为形象的表现控制现场,最好的办法就是让用户界面上的设备具有和真实仪器相似的外观。VC 以其强大、灵活的特点成为主流开发平台。利用其图形图像处理功能可方便开发出与真实设备外观相似的控件,添加必要的事件、方法和属性之后即可通过该控件与控制现场进行交流,以表现控制现场和进行有效控制。作好与现场设备有相似外观的单个控件后,通过基于对象的编程开发工具调用控件,将所作单个设备控件连接,调整各自工作状态,就能反映整个控制现场。 2 ActiveX控件的开发 ActiveX技术是基于COM(组件对象模型)建立起来的编码和API协议,是与平台无关的技术。即在一种编程语言下开发的控件无需修改,就可在另一种编程语言中使用。这与使用Windows通用控件类似。利用VISUAL C++提供的框架向导和类向导可开发OCX文件。使用MFC ActiveX ControlWizardk可自动生成空的OCX文件,每个OCX文件可以含有多个控件。但OCX文件过大不利于容器程序的调用,所以将一类设备制作成一个OCX文件。利用PHOTOSHOP画出工控设备外观,或将实际的工控设备拍照作为资源文件载入控件,作为设备控件外观。然后在OCX文件的ONDRAW 函数里填写代码,其编程方法如下: int w_CBitmap,h_Cbitmap; //定义两个整型变量存储位图的宽和高 Cbitmap Bitmap; //定义位图类 BITMAP BM; //定义BITMAP结构,以获取位图的参数CDC Pdcl; // 定义一个CDC类 Bitmap.Loadmap(IDC_BITMAP); //将位图装载,该位图即是设备外观 Bitmap.GetObject(sizeof(BM)); //得到位图结构 w_CBitmap=BM.bmWidth; w_Cbitmap=BM.bmHeight; Pdcl.CreateCompatibleDC(Pdc); //创建于显示设备场景兼容的CDC对象 Pdcl.SelectObject(&Bitmap); //将位图送入场景 Pdc?StretchBlt (rcBounds.left,rcBounds.top,rcBounds.Width(), rcBounds.Height(), &Pdcl , 0 , 0 ,w_Cbitmap, h_Cbitmap, SRCCOPY); //将位图显示在(0,0)为上端点,宽为rcBounds.Width() //高为rcBounds.Height()的区域内, //其中Pdc,rcBounds为ONDRAW函数的参数Bitmap.DelectObject( ); 其中rcBounds.left为控件左顶点的横坐标,rcBounds.top为控件左顶点的纵坐标,rcBounds.Width(),rcBounds.Height() 为控件的宽与高。通过这段代码将资源号为IDB_BITMAP1位图作为设备外观来显示,工控界面上的设备与现场设备就具有近似的外观,可模拟工作现场。 制作了具有设备外观的静态控件后,还须在工控软件中表现设备的动态工作状态。为此通过MFC ClassWizard添加一个WM_TIMER消息的处理函数 收稿日期:2004-11-08;修回日期:2005-02-24 作者简介:范艳军(1978-),男,山西人,2001年毕业于中北大学,现华南理工大学在读硕士,从事智能控制理论与应用研究。 ·105·

ACTIVEX网页控件开发(详细)

步步学ACTIVEX网页控件开发 转载自IT168 [ https://www.360docs.net/doc/548281970.html,/ ] 第1页:创建ActiveX控件 本文将首先介绍如何使用Visual Studio开发一个简单的ActiveX控件,然后介绍ActiveX控件开发相关的基础知识,比如方法,属性和事件等,最后介绍如何利用这些知识,实现ActiveX控件和网页页面之间的通信。 MyActiveX控件的效果图 简介 ActiveX是由Microsoft在90年代中期提出的一项技术。利用ActiveX技术,开发者可以创建像Java小程序applet一样的小型应用程序。这些应用程序可以被下载然后在Microsoft的浏览器中运行。这篇文章是为那些想学习如何开发他们的第一个ActiveX控件的Visual C++开发者准备的。

当我自己尝试学习这些技术的时候,我发现很多针对ActiveX技术的资料都已经不再适用了,都已经过时了,或者丢失了很多关键性的信息,这些都使得我 在为我的项目创建一个ActiveX控件的时候,变得困难重重。这篇文章将帮助你实现ActiveX网页控件开发的快速入门。本文将首先介绍如何使用 Visual Studio开发一个简单的ActiveX控件,然后介绍ActiveX控件开发相关的基础知识,比如方法,属性和事件等,最后介绍如何利用这些知识,实现ActiveX 控件和网页页面之间的通信。 另外,你也将学习到如何在默认的Internet Explorer安全设置下取消掉控件加载过程中的警告或者错误提示,使你的控件成为一个“安全”的ActiveX控件。在本文中,我们将创建一个实际的ActiveX控件。在控件加载的过程中,它将显示一个动态的进度条,告诉用户控件正在加载并处理信息。同时,这个控件 也将展示如何在ActiveX控件和Web页面之间传递信息。本文将引导你一步 步地利用Microsoft Visual Studio 2005完成ActiveX控件的开发工作。 创建ActiveX控件 要创建一个ActiveX控件,首先启动Visual Studio 2005,执行下面这些步骤: 1.选择“文件”菜单,然后选择“新建”->“项目”。 2.在“新建项目”对话框中,如下图1所示,选择“Visual C++”分类下的“MFC”。然后选择“MFC ActiveX控件”作为项目模板。 第2页:添加对动态GIF动画的支持 3.将新项目命名为“MyActiveX”,然后选择项目的保存目录,最后点击“确定” 按钮,关闭“新项目”对话框,进入“MFC ActiveX控件”向导。

使用MFC开发ActiveX(ocx)控件

作者: 中国电波传播研究所青岛分所郎锐 时间: 2004-03-09 出处: yesky 一、前言 二、建立工程框架 三、属性、方法以及事件的添加 四、实现属性表 五、在包容程序中使用ActiveX控件 六、小结 前言 ActiveX控件是一种实现了一系列特定接口而使其在使用和外观上更象一 个控件的COM组件。ActiveX控件这种技术涉及到了几乎所有的COM和OLE的技术精华,如可链接对象、统一数据传输、OLE文档、属性页、永久存储以及OLE 自动化等。 ActiveX控件作为基本的界面单元,必须拥有自己的属性和方法以适合不 同特点的程序和向包容器程序提供功能服务,其属性和方法均由自动化服务的IDispatch接口来支持。除了属性和方法外,ActiveX控件还具有区别于自动化服务的一种特性--事件。事件指的是从控件发送给其包容程序的一种通知。与窗口控件通过发送消息通知其拥有者类似,ActiveX控件是通过触发事件来通知其包容器的。事件的触发通常是通过控件包容器提供的 IDispatch接口来调用 自动化对象的方法来实现的。在设计ActiveX控件时就应当考虑控件可能会发生哪些事件以及包容器程序将会对其中的哪些事件感兴趣并将这些事件包含进来。与自动化服务不同,ActiveX控件的方法、属性和事件均有自定义(custom)和库存(stock)两种不同的类型。自定义的方法和属性也就是是普通的自动化方法和属性,自定义事件则是自己选取名字和Dispatch ID的事件。而所谓的库存方法、属性和事件则是使用了ActiveX控件规定了名字和Dispatch ID的"标准"方法、属性和事件。 ActiveX控件可以使COM组件从外观和使用上能与普通的窗口控件一样, 而且还提供了类似于设置Windows标准控件属性的属性页,使其能够在包容器程序的设计阶段对ActiveX控件的属性进行可视化设置。ActiveX控件提供的这些功能使得对其的使用将是非常方便的。本文下面即以MFC为工具对ActiveX 控件的开发进行介绍。 建立工程框架 通过"MFC ActiveX ControlWizard"向导可以非常容易的建立一个MFC ActiveX控件工程框架。按照默认的选项将建立如图1所示的工程结构:

VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程

VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程 开篇语:最近在弄ocx控件发布到https://www.360docs.net/doc/548281970.html,网站上使用,就是用户在使用过程中,自动下载安装ocx控件。(此文章也是总结了网上好多人写的文章,我只是汇总一下,加上部分自己的东西,在这里感谢所有在网上发表相关内容的朋友们。) ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。这里控件容器就是浏览器,用户不需要通过浏览器调用控件的属性或方法。因此,开发面向Web 的ActiveX控件比开发桌面的控件还要简单些,所复杂的是如何将该控件很好地嵌入主页,使用户能正常浏览。下面介绍这个问题。 一.创建MFC ActiveX项目 1.打开VS2005新建MFC项目。这里我们取名为“ActiveXDemo”。 2.输入项目名称为“ActiveXDemo”和项目位置。点击“确定”按钮,打开向导对话框。

WoSign 免费提供的时间戳服务URL:https://www.360docs.net/doc/548281970.html,/timestamp 时间戳服务非常重要,添加时间戳后,即使您的代码签名证书已经过期,但由于您的代码是在证书有效期内签名的,则时间戳服务保证了此代码仍然可信,最终用户仍然可以放心下载,使得即使代码签名证书已经过期,您也无需重签和重新发布已经签名的代码。 3.选择“控件设置”选项卡,具体设置可参考上图。其它选项卡为默认设置。最后点击“完成”按钮保存设置。 二.添加控件方法 VC2005会为我们自动创建好MFC ActiveX程序框架,我们只要给该ActiveX控件添加方法即可。现在我们给控件添加一个“AddFun”方法,这个方法是将两个数相加并返回结果。 1.点击“视图”,打开“类视图”窗口。

C#生成ocx控件

用C#编写ActiveX控件(一) 前些日子做一个Web项目,必须自己编写一个ActiveX控件。如今的ActiveX控件大多是使用VB/C++来开发的,而我对他们并不熟悉,因此考虑使用熟悉的C#编写ActiveX 控件。 首先,建立一个WinForm控件项目HelloWorld,并拖入一个Label控件,文字设为HelloWorld,如图: UserControl1.cs内容如下: using System; using System.Collections; using https://www.360docs.net/doc/548281970.html,ponentModel; using System.Drawing; using System.Data; using System.Windows.Forms; namespace HelloWorld { ///

/// UserControl1 的摘要说明。 /// public class Demo : https://www.360docs.net/doc/548281970.html,erControl {

private https://www.360docs.net/doc/548281970.html,bel label1; ///

///必需的设计器变量。 /// private https://www.360docs.net/doc/548281970.html,ponentModel.Container components = null; public Demo() { // 该调用是 Windows.Forms 窗体设计器所必需的。 InitializeComponent(); // TODO: 在 InitComponent 调用后添加任何初始化 } /// ///清理所有正在使用的资源。 /// protected override void Dispose( bool disposing ) { if( disposing ) { if( components != null ) components.Dispose(); } base.Dispose( disposing ); } 组件设计器生成的代码

C# ACTIVEX控件开发 打包CAB安装部署 含源码及全过程开发文档

1.问题场景 在C/S架构的系统中,客户端要实现某些业务功能,可以通过安装相关的应用程序集来方便的实现。同样的需求,在B/S架构的系统里实现起来却比较困难。因为所有的程序都放在服务器端,客户端只是采用浏览器,通过HTTP协议来访问服务器端。比较成熟的解决办法是开发ActiveX控件安装到客户端,这样客户端的浏览器就可以访问本地的ActiveX控件来执行相关的本地操作。通常开发ActiveX使用C,C++或VB开发,本文将要谈论的,就是使用C#开发一个ActiveX控件。 3.注意的地方,C#开发的ActiveX控件只可在装有Framework的系统上才能用。 2.开发工具 Visual Studio2010 .NET版本:2.0 开发语言:C# 3.ActiveX控件项目创建 (1),新建一个【Windows窗体控件库项目】,项目名为ActiveXDemo 选择.NET Framwork2.0版本,因为.Net2.0安装文件只有20多M,客户端容易接受,而且如今多数家用电脑都装了.Net2.0 (2),需要更改两个地方的设置,选中刚创建的ActiveXDemo项目: 1).右键选择“属性>>应用程序>>程序集信息”设置,勾选“使程序集COM可见”:

2).右键选择“属性>>应用程序>>生成”设置,勾选“为COM互操作注册”(注意,此处如果是在debug 状态下修改的,那么在调到release状态下还需要再设置一次): 4.ActiveX控件功能添加 (1),添加一个用户控件

(2),为了使该用户控件作为一个ActiveX控件进行使用,还需要做以下修改: 首先,为控件类MiugoX.cs添加GUID,这个编号将用于B/S系统的客户端调用时使用(可以使用工具-创建GUID菜单创建一个GUID): [Guid("DF0769A5-99D3-4BE0-90B8-91C65A92118C"),ProgId("ActiveXDemo.MiugoX"),ComVisible(true)] public partial class MiugoX:UserControl,IObjectSafety { …… //DF0769A5-99D3-4BE0-90B8-91C65A92118C就¨a是o?刚?刚?创???建?§的ì?Guid (3),为了让ActiveX控件获得客户端的信任,控件类还需要实现一个名为“IObjectSafety”的接口。先创建该接口(注意,不能修改该接口的GUID值):添加一个接口IObjectSafety,实现该接口的目的就是提高程序的安全性,以便客户端IE在不更改设置的情况下可以预行该ActiveX控件。接口成员如下:using System; using System.Runtime.InteropServices; namespace ActiveXDemo { [ComImport,GuidAttribute("CB5BDC81-93C1-11CF-8F20-00805F2CD064")] [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] public interface IObjectSafety { [PreserveSig] int GetInterfaceSafetyOptions(ref Guid riid,[MarshalAs(UnmanagedType.U4)]ref int pdwSupportedOptions,[MarshalAs(UnmanagedType.U4)]ref int pdwEnabledOptions); [PreserveSig()]

Delphi快速开发OCX步骤

Delphi快速开发OCX步骤 首先要弄明白你要写的OC X是用在客户端还是用在服务器端 假如用在客户端: 1、创建 打开delphi 7,选择菜单“new”->“other”->“activex”->“active form”->输入项目名称,系统自动给你创建了3个文件,一个是项目文件,一个是form的单元文件,还有一个后缀带TLB 的文件。这三个文件中的你只需要更改form的单元文件,项目文件一般不需要写什么,TLB文件有系统自动维护。 2、增加接口函数 所谓接口函数就是调用OCX的程序可以直接调用的函数,如果你要写的函数不提供外部函数可以按常规声明就可以。但要声明接口函数则必须按步骤声明,有两种途径, 其一:选择form单元文件,然后点击“edit”->“add to interface”,弹出一个对话框,输入要声明的函数,如:function fun:integer; 其二:选择form单位文件,然后点击“view”->“Type Library”,弹出一个对话框,然后点击工具栏中“add a interface”可以增加函数或过程。 说明:在这里注意几个地方, 第一,一定要选form文件才可以,否则相应的菜单都是不可用的; 第二、声明函数或过程的参数类型要注意string->BSTR(第二种途径)或WideString(第一种途径)。增加属性也函数类同。 3、调试 我是用html调试的,所以可用在delphi种配置run的参数“run”->“parametes”,弹出一对话框,在“host application”中输入C:\Program Files\Internet Explorer\IEXPLORE.EXE,在“parametes”中http://192.168.6.9/my.htm,这样就可以调试delphi代码了 4、发布 在没有build前,可以“project”->“web deployment”中配置(主要输入ocx的地址和web 服务器的url),然后可以“web deploy”发布,其实就是生成了一个htm文件,不过该文件里包含了调用方法而已。但是delphi好像至运行执行一次,发布后这两个菜单就不可用

用C#编写ActiveX控件

您正在看的C#.NET教程是:用C#编写ActiveX控件。 首先,建立一个WinForm控件项目HelloWorld,并拖入一个Label控件,文字设为HelloWorld,如图: UserControl1.cs内容如下: using System; using System.Collections; using https://www.360docs.net/doc/548281970.html,ponentModel; using System.Drawing; using System.Data; using System.Windows.Forms; namespace HelloWorld { /**////

/// UserControl1 的摘要说明。 /// public class Demo : https://www.360docs.net/doc/548281970.html,erControl { private https://www.360docs.net/doc/548281970.html,bel label1; /**//// /// 必需的设计器变量。 /// private https://www.360docs.net/doc/548281970.html,ponentModel.Container components = null; public Demo() { // 该调用是Windows.Forms 窗体设计器所必需的。 InitializeComponent(); // TODO: 在InitComponent 调用后添加任何初始化 } /**//// /// 清理所有正在使用的资源。

///

protected override void Dispose( bool disposing ) { if( disposing ) { if( components != null ) components.Dispose(); } base.Dispose( disposing ); } 组件设计器生成的代码#region 组件设计器生成的代码 /**//// /// 设计器支持所需的方法- 不要使用代码编辑器 /// 修改此方法的内容。 /// private void InitializeComponent() { &nb 您正在看的C#.NET教程是:用C#编写ActiveX控件。sp; https://www.360docs.net/doc/548281970.html,bel1 = new https://www.360docs.net/doc/548281970.html,bel(); this.SuspendLayout(); // // label1 // https://www.360docs.net/doc/548281970.html,bel1.Location = new System.Drawing.Point(32, 32); https://www.360docs.net/doc/548281970.html, = "label1"; https://www.360docs.net/doc/548281970.html,bel1.Size = new System.Drawing.Size(120, 32); https://www.360docs.net/doc/548281970.html,bel1.TabIndex = 0; https://www.360docs.net/doc/548281970.html,bel1.Text = "HelloWorld"; https://www.360docs.net/doc/548281970.html,bel1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // Demo //

ocx控件开发过程

目录 1. 参考资料: (2) 2. 控件制作过程: (2) 3.控件进行打包并进行数据鉴名 (3) 4. 写html,完成程序 (5) 1 / 5

1.参考资料: (1)利用VC6.0的向导创建一个ocx控件的示例 (2)vc6<实用>开发activex并发布全攻略(二)(初级篇) 网址:https://www.360docs.net/doc/548281970.html,/ibznphone/article/details/8066322 2. 控件制作过程: (1) 打开vc6.0,新建一个MFC ActiveXControlWizard项目: (2) 在项目中添加自定义方法sayhello

(3)对项目进行测试 打开vc的工具->ActiveX Control Test Container菜单。选择MyActivex控件,然后再选择Control->InvokeMethods选项: 可以看到返回值是“hello!”,系统sayhello函数是可以使用的。 注:最后在html加载控件需要classid,此控件classid为7F8BB7A3-A741-4E53-A620-5442A789D7B5。 3.控件进行打包并进行数据鉴名 (1) 控件制作完毕并不能直接使用,而是需要注册,手动注册的方法不必赘述,我参考本文 3 / 5

列的第二篇参考资料用makeCAB工具包进行处理。下图为各种证书文件和cab打包文件生成后的情景。 (2) 使用makeCAB工具包中的Code Signing Wizard签署CAB文件 细节就不写了,详细在参考资料2,后面的个图为签名成功的截图。

OCX控件编写

OCX控件 新建->项目->MFCActiveX 完成后编译器自动添加四个类。 型如: 一.事件的添加方法: 1.常用事件 右键Ctrl类->添加->添加事件->常用事件(Click事件为例)

在其他程序调用控件时在控件事件中就可以添加Click事件。在点击新建的对话框中的控件时就会执行Click事件函数。 如下图 2.自定义方法 右键.lib类的第一个节点->添加方法

添加后在其他程序调用控件时就可以给控件添加变量并调用方法。 二.添加属性 以背景色为例,右键Lib类的第一个节点,添加属性,选择常用属性中的BackColor属性(当然也可以自定义属性): 在Listcpp中手动添加属性页代码: 在OnDraw手动添加: 其中上图圈出部分为手动添加的代码,用于当控件被调用时打开改控件的颜色属性面板改变控件的颜色。而COLORREF col=TranslateColor(GetBackColor);这行代码实现了获取下图颜色面板的颜色并返回给col;

如何在新程序中添加控件并实时改变控件的GDI?方法:右键xxxlib文件的第一节点添加方法; 完成后在xxxCtrl.cpp文件会添加该函数,例如:void Cocx004Ctrl::myfun1(DOUBLE parag) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); if(parag>250) {

parag=0; } CDC*dc=GetDC(); CRect rec; GetClientRect(&rec); CBrush bru; CPen pen; pen.CreatePen(PS_SOLID,4,RGB(100,parag,100)); dc->SelectObject(&pen); bru.CreateSolidBrush(RGB(parag,100,100)); dc->SelectObject(&bru); dc->MoveTo(rec.left,rec.top); dc->LineTo(rec.right,rec.bottom); dc->Ellipse(&rec); ReleaseDC(dc); //TODO:在此添加调度处理程序代码 } 以上代码实现了控件的简单绘图 注:默认属性中除颜色属性外还有字体等属性,这儿未整理。

从ocx控件编写到发布到网上全过程

VC6.0从开发activex ocx控件到发布到网上全过程 (sunxiaopeng) ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。 一:vc创建activex控件 创建一个activex控件,名称为:test.ocx,创建步骤略。显示结果如下: 为该控件增加一个方法void GetStr(LPCTSTR str), 该方法内部代码如下:

这样,GetStr方法就被加入了。 onDraw函数下代码如下 下面,测试该方法,鼠标右键控件,选择Invoke Methods,弹出如下对话框: 在parameter中输入hello,单击Invoke按钮,显示如下:

那么如何在网页中将参数传递给控件,让其在网页中显示出来呢??稍后介绍 把test.ocx控件放入c:\ceshi目录下,到网上下载Makecert.exe,Cert2Spc.exe,Signcode.exe,并一同放入c:\ceshi目录下 二:ActiveX打包与发布 1)用到的工具如下所示: 1.Makecert.exe ---证书创建工具 2.Cert2Spc.exe ---发行者证书测试工具 3.Signcode.exe ---文件签名工具 2)ActiveX发布步骤 打包activeX需要制作证书,具体用到makecert 、cert2spc 、signtool这三个工具, 现在我们将以上工具和.ocx控件放到同一个目录c:\test下. (1)单击"开始"-->"运行(R)"-->输入"cmd"-->回车-->进入到操作的控件所在的目录(需要将上面所说的工具,和ocx控件放到一个文件夹下); (2)创建inf文件,代码如下 [version] signature="$CHICAGO$" AdvancedINF=2.0 [Add.Code] test.ocx=test.ocx [test.ocx] file-win32-x86=thiscab RegisterServer=yes clsid={B649E664-D7CF-4481-A58E-AC8B4440794A} DestDir=11 FileVersion=1,0,0,1 上述代码解释如下: file-win32-x86=thiscab //告诉ie到哪里去得到这个dll,file一共包括三个部分,第一部分是file,这个永远都是这样的(至少目前来说);第二部分告诉声明支持的OS,win32表示windows,mac 就是苹果MAC OX了;第三部分是CPU类型,比如说x86、 ppc (Power PC)、 mips 或者alpha了。其中“thiscab”是一个关键字,表示 CAB 包含此 DLL,也可通过指定一条绝对或相对路径,从一个 HTTP 位置下载所需的 DLL, 例如: file-win32-x86=https://www.360docs.net/doc/548281970.html,/mydir/NEEDED.DLL clsid={ B649E664-D7CF-4481-A58E-AC8B4440794A } //“clsid”是将要安装的控件的 CLSID ,如何获得呢------ DestDir=11

Ocx控件使用入门

Ocx控件使用入门 1基本说明 使用VS进行ocx控件开发 使用html页面进行ocx控件测试,即将ocx控件嵌入到html页面中 2使用环境 Window 7 Visual Studio 2010 中文旗舰版,即VS2010 VAssistx 3编码过程 3.1创建工程(Project) 1、启动VS2010; 2、点击“文件→新建→项目(P)…”,输入名称[activexdemo]和路径[此处为默认],点 击“确定”,打开向导对话框;

3、一直点击“下一步”,知道出现下图界面,并按照下图进行配置; 4、点击“完成”;

5、在“解决方案视图”中,选择工程,右击→属性,弹出“属性页”对话框,在对话 框中按下图进行配置,点击“确定”,返回VS2010主界面;

6、在“解决方案视图”中,找到“activexdemo.rc”,并进行下图操作; BEGIN BLOCK"StringFileInfo" BEGIN

BLOCK"040904e4" BEGIN VALUE"CompanyName", "TODO: <公司名>" VALUE"FileDescription", "TODO: <文件说明>" VALUE"FileVersion", "1.0.0.1" VALUE"InternalName", "activexdemo.ocx" VALUE"LegalCopyright", "TODO: (C) <公司名>。保留所有权利。" VALUE"OriginalFilename", "activexdemo.ocx" VALUE"ProductName", "TODO: <产品名>" VALUE"ProductVersion", "1.0.0.1" VALUE"OLESelfRegister", "" END END BLOCK"VarFileInfo" BEGIN VALUE"Translation", 0x409, 1252 END END 8、此时,工程创建成功。 3.2添加控件方法 1、在“类视图”中,按照下图方法操作; 2、点击“添加方法”后,在弹出的对话框中进行如下图配置,点击“完成”;

C#开发OCX IE控件

c# 开发Active控件 首先,建立一个WinForm控件项目MyActive,并拖入一个Lable控件,文字设为HelloWorld,如图: 此时编译项目,可以生成MyActive.dll,将些dll拷贝到IIS的虚拟根目录下,然后建立一个网页文件test.html,此网页文 件的代码如下: 测试测试 然后在IE地址栏中输入以下地址:http://localhost/mp/test.html,我们看到出现如下界面: 此时,我们的控件第一步就已经完成了! 但此时还未完在,只能在本机显示正常,如果换另一台机子就出显示一个红叉,或者弹出对话框说这个控件没有任何权限,所以必须声明这个控件必须使用赋予的权限,才可以显示出界面. 我们在AssemblyInfo.cs中引用System.Security命名空间,并添加一句[assembly : AllowPartiallyTrustedCallers()]

使用ActiveX控件用于web开发

ActiveX控件的Web开发使用注意事项 ActiveX控件经常运用于Web开发中,在最近国联项目的二次开发任务:FakeDNS+ActiveX 插件安全检查中,涉及到了部分与ActiveX插件联动与配合使用的功能。现将开发过程中遇到的部分问题与心得分享如下,以便大家在以后的工作中参考。 ActiveX是微软的东西,故而这玩意儿只有IE才支持!类似于Java的Applet 1、如何判断当前客户端是否安装相关的ActiveX控件? Js代码: try{ var obj = new ActiveXObject("SECURITYCHECKAX.SecurityCheckAXCtrl.1"); }catch(e){ alert(‘未安装插件’) } ActiveXObject中的字符串是取自插件注册后注册表中的ProgID值。如下图所示:

2、页面如何使用ActiveX插件? 在需要使用插件的页面(html或者jsp)中,添加如下代码: 注:version后面的版本号,中间的符号是, 不是. 3、如何在客户端装载插件? 本次的插件开发中,将ActiveX插件打包成了cab包和exe程序两种格式(注:插件程序在注册的时候必须设置为安全脚本)。 当页面引用了上述代码后,若客户端未安装插件,则会自动弹出安装提示信息,如下图所示: 点击右键安装后,刷新当前页面即可 采用exe插件安装包的目的:由于IE浏览器的插件安装提示是自动弹出的,不排除某些原

步步学ACTIVEX网页控件开发

步步学ACTIVEX网页控件开发 本文将首先介绍如何使用Visual Studio开发一个简单的ActiveX控件,然后介绍Ac tiveX控件开发相关的基础知识,比如方法,属性和事件等,最后介绍如何利用这些知识,实现ActiveX控件和网页页面之间的通信。 MyActiveX控件的效果图 简介 ActiveX是由Microsoft在90年代中期提出的一项技术。利用ActiveX技术,开发者可以创建像Java小程序applet一样的小型应用程序。这些应用程序可以被下载然后在M icrosoft的浏览器中运行。这篇文章是为那些想学习如何开发他们的第一个ActiveX控件的Visual C++开发者准备的。

当我自己尝试学习这些技术的时候,我发现很多针对ActiveX技术的资料都已经不再适用了,都已经过时了,或者丢失了很多关键性的信息,这些都使得我在为我的项目创建一个ActiveX控件的时候,变得困难重重。这篇文章将帮助你实现ActiveX网页控件开发的快速入门。本文将首先介绍如何使用Visual Studio开发一个简单的ActiveX控件,然后介绍ActiveX控件开发相关的基础知识,比如方法,属性和事件等,最后介绍如何利用这些知识,实现ActiveX控件和网页页面之间的通信。 另外,你也将学习到如何在默认的Internet Explorer安全设置下取消掉控件加载过程中的警告或者错误提示,使你的控件成为一个“安全”的ActiveX控件。 在本文中,我们将创建一个实际的ActiveX控件。在控件加载的过程中,它将显示一个动态的进度条,告诉用户控件正在加载并处理信息。同时,这个控件也将展示如何在Act iveX控件和Web页面之间传递信息。本文将引导你一步步地利用Microsoft Visual St udio 2005完成ActiveX控件的开发工作。 创建ActiveX控件 要创建一个ActiveX控件,首先启动Visual Studio 2005,执行下面这些步骤: 1.选择“文件”菜单,然后选择“新建”->“项目”。 2.在“新建项目”对话框中,如下图1所示,选择“Visual C++”分类下的“MFC”。然后选择“MFC ActiveX控件”作为项目模板。 3.将新项目命名为“MyActiveX”,然后选择项目的保存目录,最后点击“确定”按钮,关闭“新项目”对话框,进入“MFC ActiveX控件”向导。

VB开发ActiveX控件步骤

VB开发ActiveX控件步骤: 1、创建一个ActiveX Control的项目 2、绘制ActiveX控件的操作界面,并且编写代码 3、特别注意:在项目的属性上的Make页,有一个Version Number区域,需要你写当前控件的版本号,这个地方和自动下载有密切关系!当你远端的Web浏览器检查到本机的控件版本号和服务器上不一样的时候,浏览器就会自动从服务器下载新版本控件进行安装,所以你编译的新版本控件一定要改版本号!否则可能导致远程无法更新。 4、编译ActiveX控件 ActiveX控件打包步骤: 本例子以Studio 6.0自带的打包工具为例。 1、选择当前选用的VB ActiveX项目进行打包。 2、其中在选择Package Type的时候有3个选项: 1)Standard setup package 2)Internet Package 3)Dependency File 选择第二个! 3、到选择File Source的时候有3个选项: 1)Include in this cab 2)download from microsoft web site 3)download from alternate web site 以上选项是针对程序包含的每一个相关dll,ocx的,所以,如果你要修改参数,需要一个个文件设置! 我建议是都选择第一项!因为有些控件从外部更新,可能会遇见证书之类的问题,可能导致你的程序无法使用,因此,全部使用本地的是最省心的选择!打包过程的其他步骤,没有特别说明的,全部用默认设置! 4、在发布控件的网站根目录下建一个目录,就叫ActiveX吧,把打包装后的Package 目录中的所有文件复制到ActiveX目录。

相关主题
相关文档
最新文档