用C#编写ActiveX控件(三)
在前面我们已经完成了ActiveX控件的开发,接下来的就是发布它了。
首先,我们建立一个windows安装项目,并将ActiveX控件的主输出添加到项目输出中。然后,改动ActiveX控件的主输出文件,将其Register属性改为vsdrpCOM.如图:
下一步,我们改动项目属性,将引导程序更改为 Web引导程序。很遗憾的是,在 Web引导程序设置 中的安装文件夹URL中必须使用绝对路径,不能使用相对路径。这意味着生成安装程序的时候就必须确定路径,不是很方便。在示例中,我使用了localhost,在发布中可以改为实际的域名。
现在我们生成安装程序,并把相应得程序拷贝到正确的目录中(本例中为默认网站目录下的ActiveX文件夹中)。我们可以直接执行Setup.Exe文件,以验证安装文件的正确性。在我的机器上正确执行了,成功了!
现在我们又要重新改动helloworld.htm文件了。修改后的结果如下:
<body bgcolor='#223344'>
<object id="helloworld"
classid="clsid:9551B223-6188-4387-B293-C7D9D8173E3A" Width="184" Height="96" codebase="ActiveX/Setup.Exe"
>
</object>
<br>
<input type='button' onclick='helloworld.ShowMessage("Hello World!")' value='Click'>
</body>
注意,我们在object块中加入了codebase属性,这就是制定的下载控件的位置,可以使用相对路径。别忙,我们现在还不能正确请求这个页面,因为我们还没有对我们的控件进行签名。签名可以采用两种方式,一种是在上面生成安装程序的时候签名,另一种是使用sn.exe签名。推荐大家使用后者,因为可以提供更多选项。本人很懒,就不多写了,大家可以参考csdn上的文章《发布ActiveX》。先给给大家提个醒,在申请证书的时候选择 高级证书申请。
源码下载:博客园下载 本站下载
相关推荐
-
使用C#开发ActiveX控件
最近弄了一个在Qt中使用C#控件的功能,使用的方法是通过C#生产ActiveX控件,在Qt中使用该ActiveX控件.本文这里简单的介绍一下如何用C#生成ActiveX控件. 1. 建立WinForm的UserControl工程,在控件的属性页中选择"使程序集com可见" 分配Guid,在控件上加上GuidAttribute,这儿定义的Guid就是你的ActiveX控件的GUID了 2. 编译运行,编译运行(需要管理员权限)后可以通过系统的用户控件测试容器简单的测试该控件, 3. 发布
-
用C#编写ActiveX控件(二)
用C#编写ActiveX控件(二) Homer 在我的上一篇blog中,已经实现了一个最基本的ActiveX控件.当然,我们编写的任务还没有完成.首先,我们先尝试实现和JS的交互能力. 我们在Demo中加入ShowMessage方法: public void ShowMessage(string msg) { if(msg != null) {
-
使用VS2010 C#开发ActiveX控件(上)
要开发Web版的读卡程序,大体思路如下: 1. 使用C#对原始的Dll进行封装,这里要封装两部分内容,一部分是串口通信的功能,一部分是对卡读写的功能. 2. 开发ActiveX控件调用封装后的Dll,使用串口通信来对卡进行读写. 3. 打包并发布ActiveX控件. 4. 使用ActiveX控件. 思路1中封装代码有2个类SerialInterfaceHelper,串口通信的帮助类,MifareOneHelper,M1卡的读写帮助类,我们放在了项目CardR
-
用C#编写ActiveX控件(一)
用C#编写ActiveX控件(一) 前些日子做一个Web项目,必须自己编写一个ActiveX控件.如今的ActiveX控件大多是使用VB/C++来开发的,而我对他们并不熟悉,因此考虑使用熟悉的C#编写ActiveX控件. 首先,建立一个WinForm控件项目HelloWorld,并拖入一个Label控件,文字设为HelloWorld,如图: UserControl1.cs内容如下: using System; using System.Collections; using System.Comp
-
使用VS2010 C#开发ActiveX控件(下),完整代码打包下载
其实如果我们不进行设置,只是修改了代码,运行程序以后,其出错界面如下图1所示: 图1 抛出异常如下: ************** Exception Text ************** System.MethodAccessException: Attempt by security transparent method 'Rare.Card.Libary.Controls. ReadCardControl.btnRead_Click(System.Object, System.Event
-
用C#编写ActiveX控件(三)
在前面我们已经完成了ActiveX控件的开发,接下来的就是发布它了. 首先,我们建立一个windows安装项目,并将ActiveX控件的主输出添加到项目输出中.然后,改动ActiveX控件的主输出文件,将其Register属性改为vsdrpCOM.如图: 下一步,我们改动项目属性,将引导程序更改为 Web引导程序.很遗憾的是,在 Web引导程序设置 中的安装文件夹URL中必须使用绝对路径,不能使用相对路径.这意味着生成安装程序的时候就必须确定路径,不是很方便.在示例中,我使用了localhost
-
DLL+ ActiveX控件+WEB页面调用例子
一. 概述 因项目需要,开始学习并研究VC.DLL及ActiveX控件,网上资料找了很多,但没一个可用的或者说没一个例子可理解并运行的.没办法,自己研究吧.功夫不负有心人,终有小成了,呵呵,现在把自己学习总结了一下,献给需要的人. DLL(动态链接库): 分WIN32 DLL和MFC DLL ActiveX:分ATL控件和MFC控件两类(也是一个DLL) WEB:JAVASCRIPT 调用-> ActiveX调用-> DLL 完成加法运算并返回值,在页面上显示. 二.开发(VS2008) 1.
-
激活 ActiveX 控件
激活 ActiveX 控件 发布日期: 2006-3-29 | 更新日期: 2006-3-29 Internet 开发索引 用户不能与 APPLET.EMBED 或 OBJECT 元素加载的 Microsoft ActiveX 控件直接交互.用户激活这些控件的用户界面后才可以与这些控件交互.本文介绍 Microsoft Internet Explorer 如何处理 ActiveX 控件,显示如何加载 ActiveX 控件才能激活它们的界面,还描述这种行为对辅助工具和宿主 WebBrowser 控
-
ActiveX控件的使用-js实现打印超市小票功能代码详解
·应客户的需求= = ,要在网页端实现打印小票的功能 ·先来一张打印出的小票效果图(合计明显不对,因为有修改订单功能,请各位忽略) 用什么方法实现呢: 我想应该是有三种吧 1.用第三方的浏览器控件(这个好似比较方便,我的老师也是这样建议我)向大家推荐一个 Lodop打印控件 2.用CSS写好模板,然后直接用页面打印的方法(应该是这样吧) 以上两种还没有尝试,这两天陆续尝试) 3.用微软自己的ActiveX控件(ActiveX控件可以实现调用本地的文件等操作(之前试过调用cmd,实现shutdow
-
js之ActiveX控件使用说明 new ActiveXObject()
什么是 ActiveX 控件? ActiveX 控件广泛用于 Internet.它们可以通过提供视频.动画内容等来增加浏览的乐趣.不过,这些程序可能出问题或者向您提供不需要的内容.在某些情况下,这些程序可被用来以您不允许的方式从计算机收集信息.破坏您的计算机上的数据.在未经您同意的情况下在您的计算机上安装软件或者允许他人远程控制您的计算机.考虑到这些风险,您应该在完全信任发行商的情况下才安装这些程序. 当 Windows 阻止 ActiveX 控件的安装时,您应该做什么? 您可能不应该安装该 A
-
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
问题 在本人目前的项目中,前端部分完全使用EXTJS基于"One-Page"理念搭建.除了一个HTML作为基本容器外,就全是JS文件了(页面是由JS文件实现的).当用户切换页面时候,我们通过析构上一个页面对象,然后创建新页面对象并展现在HTML中.基于这种架构,我们还引入了一个ActiveX控件,用于展现报表.这一引入,问题就出来了:只要是访问有报表控件存在的页面,用户切换2次页面,IE就会崩溃(FF无此问题),百试不爽. 原因 因为系统设计时考虑到了资源释放,专门处理过析构部分,而且
-
web下载的ActiveX控件自动更新
网页中加载ActiveX控件的方式一般如下: <HTML> <HR><center><P> <OBJECT classid="clsid:0FC05E08-32EA-4A5A-A8F0-514D7927C3C6" codeBase="pmc.cab#version=1,0,0,308" width=794 height=575 align=center hspace=0 vspace=0 > </OB
随机推荐
- docker如何使用阿里加速器的方法
- 显示某两个字符及之间的字符
- 通过Windows批处理命令执行SQL Server数据库备份
- Java JDK 二分法 分析demo(推荐)
- Node.js之网络通讯模块实现浅析
- ASP.NET实现TreeView的XML数据源绑定实例代码
- 分析10个ASP.NET控件最有用的属性详解
- php设计模式 Strategy(策略模式)
- php 使用curl模拟登录人人(校内)网的简单实例
- Python实现的飞速中文网小说下载脚本
- js关于精确计算和数值格式化以及直接引js文件
- jquery实现邮箱自动补全功能示例分享
- jQuery实现的自适应焦点图效果完整实例
- 详解Bootstrap四种图片样式
- php简单截取字符串代码示例
- 详解Java中实现SHA1与MD5加密算法的基本方法
- Android自定义View实现箭头沿圆转动实例代码
- Java中面向对象的知识点总结
- spring boot(四)之thymeleaf使用详解
- C++的字符串分割函数的使用详解