Labview调用EXE形式COM组件
需求
接口封装在exe文件中,以 COM 组件方式为其他需要访问该接口的程序提供服务,我们要做的就是调用这个接口中的方法
分析
首先我们需要知道什么是COM组件:
参考资料:
- 360百科 - COM组件
- COM编程概述
- 全称:COM(Componet Object Model,组件对象模型)
- 含义:是关于如何建立组件以及如何通过组件建立应用程序的一个规范,说明了如何可动态交替更新组件(来源于360百科)
- 本质:实际上是一些小的二进制可执行程序,它们可以给应用程序,操作系统以及其他组件提供服务,就如同开发动态的,面向对象的API
- 形式:COM组件由以Win 32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行代码所组成
- 作用/优点:
- 可以将它们动态的插入或卸出应用(动态链接;封装内部细节)
- 规范(遵循COM规范编写出来的组件将能够满足对组件架构的所有要求)
- 可以给应用程序、操作系统以及其他组件提供服务
- 自定义的COM组件可以在运行时刻同其他组件连接起来构成某个应用程序
- 可以在不妨碍已有用户的情况下被升级
- 基本元素:
- 接口
- coclass (Component Object Class,组件对象类,通常被称为COM类)
- COM服务器
- 注册(Registration)
- 取消注册(Unregistration)
- GUID(谐音fluid,意思是全球唯一标示符Globally unique identifier)
- UUID(universally unique identifier)
- CLSID(类ID)
- IID(接口ID)
- HRESULT
- COM库
其他程序如何访问COM组件:
通过ActiveX即可实现对COM组件的调用
ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM),是OLE技术的扩展
ActiveX的对象是用于桌面,基于COM组件的,可以是可见的,也可以是隐藏的
通过现成的ActiveX对象,用户可以实现许多强大的功能,如操作Excel、PPT等
使用
使用条件:组件需注册到计算机内(即注册表)
注册方法:
使用管理员权限打开CMD
cd跳到想要注册的文件路径下
执行命令
****.exe /regserver
,未报错说明指令执行完成/regserver
注册/unregserver
反注册Win + R
,输入regedit
,打开注册表,查看HKEY_CLASSES_ROOT下是否有刚注册的相关项,有,则注册成功
使用方法:
- 新建Vi,打开程序界面,找到
Connectivity -> ActiveX -> Automation Open
- 在该Vi的
Automation Refnum
处右键,选择Select ActiveX Class
,找到注册的控件 - COM组件的主要特性是方法函数,使用
Invoke Node
调用功能函数即可
常见报错:
没有注册类
原因:exe未注册或未注册成功,需重新注册
Labview调用EXE形式COM组件相关推荐
- LabVIEW调用第三方exe软件或操作操作控制第三方软件界面的控件,如操控烧录软件
LabVIEW调用第三方exe软件或操作操作控制第三方软件界面的控件,如操控烧录软件等 除了模拟鼠标和键盘来实现之后,还可以考虑另外一种方式,使用窗口句柄来直接操作程序 如下面图片实例,操作串口助手, ...
- labview调用外部仪器设备案例一(标签打印机)
labview调用BarTender案例一(斑马标签打印机) 第一章 调用BarTender标签模板制作软件打印标签 文章目录 labview调用BarTender案例一(斑马标签打印机) 第一章 调 ...
- windows服务应用--做个简单的定时调用EXE功能(笔记)
先给一个LINK~~别人写的创建服务的步骤 好,这里感谢一下本园的"技术无极限"这们人兄: copy他的: (红色为我加的) . 新建一个项目 2. 从一个可用的项目模板列表当中选 ...
- labview调用python 开发视觉_龙哥教你学视觉—tensorflow目标检测LabVIEW深度学习教程...
购买注意事项: 1. 专属学习群和课程资料领取:成功购买后,请添加助教小姐姐的微信:18123773580,添加时请备注姓名+已购买视频.小姐姐会拉你进专属学习交流群 2. 关于发货:为了保证视频正版 ...
- LabVIEW调用DLL动态链接库
LabVIEW调用DLL动态链接库 有些数据运算比如多个数组之间的处理.雨流计数法.卡尔曼滤波使用labview这样的图形编程语言实在过于麻烦,实现不难但有一定的逻辑复杂度,倒不如用C++或者matl ...
- 64位系统VBS调用32位COM组件
64位系统VBS调用32位COM组件 标签: 32位, 64位, COM, COM组件, VB, VBS, VBScript 标题: 64位系统VBS调用32位COM组件 作者: Demon 链接: ...
- LabVIEW调用DLL时出现异常0xc0000005代码
LabVIEW调用DLL时出现异常0xc0000005代码 当调用本地DLL时,LabVIEW崩溃,并且收到一条错误消息,说明发生了内存访问冲突(异常代码:0xc0000005). 将LabVIEW版 ...
- 将调用密集型的 COM 组件迁移到托管代码
.NET Framework 提供了一个简单的方法与传统的 COM 组件进行交互.其优点是可以在保留现有投资的同时利用新的平台.但是在某些情况下,保留旧组件的性能开销使得将组件迁移到托管代码是值得的. ...
- 安装wamp时出现httpd.exe无法找到组件MSVCR100.dll的解决办法
很多朋友在安装wamp server时会出现以下错误,安装之后无法启动httpd.exe服务. --------------------------- httpd.exe - 无法找到组件 ----- ...
最新文章
- python使用matplotlib可视化、自定义设置Y轴刻度标签字体的大小( setting axis ticks size in matplotlib y axis)
- iBatis应用之获取表的元数据
- Linux:几个重要的文件处理命令
- python定义类_提升你的Python编程能力,细说类的继承,拿走不谢
- VMware虚拟机安装Linux系统(详解版)
- ubuntu 更新python2.7 ssl 错误解决
- java实现五子棋_Java的五子棋实现
- hdu 1598 find the most comfortable road 枚举+最小成生树 kruskal 解题报告
- ucos 学习:STM32F107 学习板 资料收集
- 对刚装好系统的Linux配置软件开发生产环境,让你开发效率一飞冲天!
- 念整数(5分) 题目内容: 你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。 如输入1234,则输出: yi er san si 注
- Apache Avro项目简介
- 知乎版ChatGPT「知海图AI」加入国产大模型乱斗,称效果与GPT-4持平
- CGAL求最小外包矩形
- 《知识的边界》读书笔记
- iOS AVSpeechSynthesizer进行文字转语音
- 曲神的hu测 T2.Van(左偏树+dp)T3.Gay
- 弘辽科技:拼多多dsr是什么意思?有什么用?
- ECE 251A MATLAB3
- 【浏览器渲染原理】步骤及优化
热门文章
- OnCreate()与PreCreateWindow()
- 基于vtkVoxelContoursToSurfaceFilter实现勾画图像的轮廓线面重建
- html改变元素外边距,CSS 简明教程 - 外边距 ( margin ) 属性
- 微信开发(三)创建菜单
- MAC电脑删除系统自带的软件
- 小雉配置--支持向上向下兼容的 配置文件 兼容性 设计
- Java项目:(小程序)前台+后台相结合水果商城系统(spring+spring mvc+mybatis+layui+微信小程)
- 使用向量的方法来计算点到直线的距离
- ganache命令行安装
- 2020年笔记本电脑计算机专业,适合女生用的笔记本电脑排名2020