activex控件

.NET : 开发ActiveX控件

喜夏-厌秋 提交于 2020-04-01 00:59:05
我估计有些朋友不清楚ActiveX控件,但这篇博客不是来解释这些概念的。如果你对ActiveX的概念不清楚,请参考这里: http://baike.baidu.com/view/28141.htm 这篇博客也不是讨论ActiveX是否有必要用的,因为这历来也是有些争议的。anyway, 我们这里只是探讨一下如何在.NET中也编写ActiveX控件,我用一个实例记录一下该过程 1. 创建一个类库项目,设置 Comvisible为true,设置AllowPartiallyTrustedCallers 为class也添加一个guid,注意这个要与assembly的那个不一样 设置该项目的一个属性: 为COM互操作注册 编译该项目,此时会自动在本机注册 2. 新建一个网页来使用该控件 在浏览器中打开该网页,此时会出现一个警告。正如你经常会看到的那样 点击右键,然后“允许阻止的内容” 点击页面上的“调用ActiveX”按钮,会出现下面的提示 点击“是”之后,就会调用我们写好的方法,显示出来“Hello,world”的文本 看起来不错对吧?你可能会问,怎么要这么麻烦来弹出一个Hello,World呢?这当然是一个演示。ActiveX控件典型的使用场合做一些复杂的客户端操作,例如文件批量上传等等。 我下面稍微修改一下控件 重新编译该项目之后,修改网页文件 在浏览器中再次打开该网页,点击按钮之后

使用Regsvr32.exe程序注册/注销ActiveX控件

﹥>﹥吖頭↗ 提交于 2020-03-30 08:47:13
使用ActiveX控件之前需要注册该控件。   使用Regsvr32.exe程序可以注册、注销ActiveX控件。   Regsvr32.exe程序位于Windows目录的system子目录下。   可以在cmd窗口中使用regsvr32命令注册、注销ActiveX控件。   命令格式如下:   regsvr32 < 文件名 > 注册一个ActiveX控件   regsvr32 /u < 文件名 > 解除某ActiveX控件的注册      注意:   1. 文件名   如果当前目录不是ActiveX控件所在目录,可以:   1)使用cd命令,将当前目录设为ActiveX控件所在目录;   2)文件名写全路径名,例如:D:\Code\CppCode\MFC\OglOcx\Debug\OglOcx.ocx。   2. 注册/注销失败   如果执行命令后,出现“***.dll已加载,但是对DllRegisterServer的调用失败,错误代码为0x80040201”的错误,则:   到Windows目录的system子目录下找到cmd.exe,选中该文件,点击右键菜单,以管理员身份运行该程序,然后再输入regsvr32命令。 --------------------- 作者:xiaoyusmile 来源:CSDN 原文:https://blog.csdn.net/xiaoyusmile

使用Delphi快速开发ActiveX控件

寵の児 提交于 2020-03-18 15:37:27
ActiveX控件也就是一般所说的OCX控件,它是ActiveX技术的一部分。ActiveX是微软公司推出的基于组件对象模型COM的技术,包括对Windows 32位应用编程接口(Win32 API)和组件对象模型的一系列扩充和增强,目标是把计算机桌面环境与因特网环境集成起来,同时保护在Windows技术中现有的开发投资。微软的ActiveX技术根本上就是修改过的OCX技术,使它能够跨越Internet,主要是使用WWW来传递控件。 ActiveX控件可以被集成到很多支持ActiveX的应用当中去,或者直接用来扩展应用的功能,这些支持ActiveX的应用包括C++ Builder、Delphi、Visual dBASE、 Visual Basic、Visual C++、Internet Explorer、Netscape Navigator等。ActiveX控件还可以使用在因特网上,在网页上使用它来发布信息、处理与用户的交互,但是需要使用支持ActiveX的浏览器才能阅读这些网页。目前已经开发出来的ActiveX控件越来越多,由于ActiveX控件具有很好的特性,我们可以在编程的时候选择使用合适的控件来加快自己的应用开发。可以不夸张地说,ActiveX控件是Windows平台编程必不可少的法宝。 使用ActiveX控件是相对比较简单的。但是

Vue.js 与 ActiveX 控件

爱⌒轻易说出口 提交于 2020-01-21 03:16:51
目前需要解决的问题有两个: 1、调用 ActiveX 控件函数 传统方式,如下。 document.getElementById('objMqtt').init() 其他方式,未考证。 参考链接: https://forum.vuejs.org/t/vue-ocx-vue/20324/6 参考链接: https://www.jianshu.com/p/5f9c6f05cda1 2、Vue.js 与 ActiveX 事件 方法一:使用 attachEvent 或者 addEventListener 方法。 据说在IE8-10可用,不过未能实现。 参考链接: https://blog.csdn.net/youyouwoxing1991/article/details/88649638 方法二:动态生成脚本,渲染到页面上。IE 9-11,测试成功。 1.在methods中,新增事件触法的方法。 wakeUp(msg) { console.log('receive:' + msg) } 2.在methods中,新增方法,用于动态生成ActiveX控件事件绑定。 initActiveXObject () { var scriptStr = document.createElement('script') scriptStr.setAttribute('for', 'obj1')

使用VB生成.exe文件在其他电脑运行

耗尽温柔 提交于 2019-12-28 20:26:29
生成EXE文件 注意 如果没有使用ActiveX控件,则生成的EXE文件可以在没有装VB环境的电脑运行,如果使用了ActiveX控件,则在工程—部件—下面的这个图标的地方,找到这个文件将其复制到EXE文件所在的位置,就可以在没有装VB环境的电脑运行 来源: CSDN 作者: 且行~且安 链接: https://blog.csdn.net/weixin_45030703/article/details/103747175

模拟仪器仪表ActiveX(OCX)控件 - 里程计(Odometer)介绍及下载地址

半世苍凉 提交于 2019-12-23 08:41:18
SIAODOMETER Control(Simulated Instrument ActiveX Odometer)即里程计控件,里程计控件仅显示了一个里程计,但它提供了很多方法来操纵它, 包括字体,有或没有复位按钮等等。 如果有按钮,可以用鼠标复位里程计。 控件还有斜角提供三维(3D)外观。 属性: 定制属性后的控件样式: 演示版下载地址: https://download.csdn.net/download/steventian72/12046143 来源: CSDN 作者: steventian72 链接: https://blog.csdn.net/steventian72/article/details/103655231

JS获取计算机信息

匆匆过客 提交于 2019-12-19 02:46:47
JS获取计算机信息 使用js获取计算机信息需要以下条件: 使用IE浏览器(需要使用到只有IE浏览器有的ActiveX控件) 允许ActiveX控件的运行 用WMI(微软开放的API接口,供脚本语言使用) 示例代码(使用时替换properties的查询参数): <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <script type="text/javascript"> var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); var service = locator.ConnectServer("."); var properties = service.ExecQuery("SELECT * FROM Win32_UserAccount"); var e = new Enumerator (properties

swt java 内嵌ActiveX控件

怎甘沉沦 提交于 2019-12-18 03:01:21
这里用的是SWT/JFace开发application中SWT自带的org.eclipse.swt.ole.win32 包可以支持内嵌OLE和ActiveX。 具体用法如下: //创建一个OleFrame做为OLE(或ActiveX)的框架 OleFrame oleFrame = new OleFrame(this, SWT.NONE); //创建ActiveX的容器,其中的classID是ActiveX的classid,在注册表中可以找到 OleControlSite oleControl = new OleControlSite(oleFrame, SWT.NONE, “classID”); //OleAutomation类用来执行ActiveX中的方法 OleAutomation oleAutomation = new OleAutomation(oleControl); //将ActiveX显示在application中 oleControl.doVerb(OLE.OLEIVERB_SHOW); 调用AcitveX中方法的具体过程: 1、不带参数的方法调用 //获取Method Name的ID,Method Name为ActiveX中具体的方法名 int[] regspid = oleAutomation.getIDsOfNames(new String[] {

delphi开发activex控件的心得

 ̄綄美尐妖づ 提交于 2019-12-01 22:18:54
delphi开发activex控件 2009-01-12 12:18:01| 分类: delphi | 标签: |举报 |字号大中小 订阅 用Delphi开发OCX的心得 最近在做的一个B/S系统要在客户端读取USB锁的要求,所以就需要写一个OCX来验证。原来也没有做过,所以 折腾了好几天,总算有点眉目了,所以把心得写下,交流下。 首先要弄明白你要写的OCX是用在客户端还是用在服务器端 假如用在客户端: 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”,弹出一个对话框

利用mfc编写activex控件

坚强是说给别人听的谎言 提交于 2019-11-28 23:14:52
介绍: 利用 vc 中的向导来创建 activex 控件很方便。这篇文章不准备告诉 activex 的原理,它将一步步的告诉你如何建立一个简单的 activex 控件,其中主要介绍事件和属性页的编程,如果想知道其中的道理,我想你还需要读一些相关的书籍。本文是讲述 mfc 创建 activex 控件,如果想学习 atl 创建 activex ,请不要看此文。 创建控件 使用向导建立 activex control 工程 选择 file 中的 new ,然后选择 MFC ActiveX Control Wizard 输入工程的名称 选中所有的默认设置点击 next 如果想子类话的话可以从 combobox 中选择相应的类 点击结束按钮完成。此时产生如下代码 C**App - 派生自 COleControlModule. 这个类提供了控件类的初始化 initialization ( InitInstance ) 和 销毁代码 ( ExitInstance ). C**Ctrl - 派生自 COleControl 提供控件的大部分功能,这个类是你需要编写大部分代码的部 C**PropPage - C**PropPage, ( 派生自 COlePropertyPage) 。这个类主要操纵控件的属性页 编译控件,将生成.ocx的文件。这是vc自带的测试控件的容器将帮助我们来测试控件