在LabVIEW中编程运行可执行程序
以下文字来自于
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000YGhVCAW&l=en-US
翻译来自于ChatGPT3.5
在LabVIEW中,您可以使用System Exec VI来编程调用可执行文件(*.exe)或应用程序。System Exec VI接受一个字符串输入,在Windows命令提示符中执行该字符串;要启动一个可执行文件,您可以将目录和文件名作为字符串输入到VI中。
本教程将向您展示如何使用System Exec VI从LabVIEW中启动应用程序。
- 按照《在LabVIEW中执行命令行参数》中的步骤设置和配置您的System Exec VI。如果您需要传递跟在文件名后面的参数,请复制命令,就像在命令提示符下调用时那样。
- 在命令行中输入可执行文件的完整文件路径。输入整个命令,就像您在DOS提示符下输入一样,包括所有参数。
- 如果可执行文件目录存在于Windows的PATH环境变量中,您可以通过使用其文件名作为此字符串输入来运行可执行文件(例如,application_name.exe)。
- 如果字符串包含空格,请使用""(引号)将字符串括起来。
- 将可执行文件的文件夹路径输入到工作目录中。

在下面的代码片段中,System Exec VI被用于从LabVIEW中运行Windows记事本程序。
注意:
- 当向System Exec VI发送参数时的另一种方法是使用批处理文件,按照以下步骤操作:
- 创建一个filename.bat文件,该文件调用可执行文件,然后跟上所需的选项(例如filename.exe -option1 -option2)。
- 然后,使用LabVIEW System Exec VI调用filename.bat文件。
- 如果您正在使用LabVIEW 32位,并尝试调用位于C:\Windows\System32文件夹中的可执行文件,您可能会看到该.exe文件无法打开。原因是您无法通过32位LabVIEW环境访问64位可执行文件。
- 要运行这些.exe文件,请创建一个批处理文件,指定.exe的完整路径,并将System32替换为sysnative。这是一个特殊的文件夹,在Windows资源管理器中不可见,但它被用作文件系统重定向器,以从64位应用程序或脚本访问64位System32文件夹。
- 以下是一个批处理文件的示例,调用ie4uinit.exe并传递参数-show:
- C:\Windows\sysnative\ie4uinit.exe -show
- 请参阅《[外部]解释Windows 64位中的Sysnative文件夹》,以更详细地了解sysnative文件夹。
- 如果您正在使用LabVIEW 64位,则无需将路径从C:\Windows\System32更改为C:\Windows\sysnative。
- 请参阅labview\examples\Connectivity\Libraries and Executables目录中的Command Line Execution VI,以查看如何使用System Exec VI的示例。
- 标准输入端口允许您将输入重定向到正在运行的程序。例如,如果您正在运行一个带有“暂停”语句的批处理文件,则可以通过标准输入端口输入一个行结束符来模拟在键盘上按“Enter”键。请注意,当等待完成输入为false时,标准输入将被忽略。
在LabVIEW中编程运行可执行程序的更多相关文章
- 2.1 sikuli 中编程运行
1.用sikuli编程时,多用wait()语句,因为很多时候没有给它一定的识别时间,就容易出错. 比如下图,保证页面加载时间 1.Sikuli中 ,可以加# 进行注释 但是注释有的时候也会不起作用,比 ...
- 2.2 sikuli中编程运行
http://www.cnblogs.com/Flint/p/4951703.html a.如果需要指定点击的具体坐标,需要使用click(patten.targetoffset(x, y)). b. ...
- Labview 中的类
一.创建一个空的类 在 LabVIEW 工程窗口里,鼠标右键菜单的新建栏中有一项,是创建类.类的结构和 LabVIEW 工程库是比较相近的:类的名字也作为名字空间:也可以为类中的 VI 设置访问权限等 ...
- Labview中引用,属性节点,局部变量之间的区别
Labview中引用,属性节点,局部变量之间的区别 在Labview中我们经常会碰到这样几个概念,那就是控件的引用,属性节点以及局部变量,他们之间到底有哪些区别呢? 首先谈 ...
- AF(操作者框架)系列(1)-LabVIEW中的模块化应用概述
一.引子 在前面对LabVIEW介绍的文章中,关于框架开发的内容涉及很少.为了讲解操作者框架(Actor Framework)的优缺点,也只是拿出来QDSM(Queue-Driven State Ma ...
- Lotus Notes中编程发送邮件(二)
在编程发送各种类似通知的邮件时,时常会需要发件人显示为某个特定的帐户,比如某个部门的名称或者管理员的名字.另一种需求是,用户收到某封邮件后,回复邮件的地址不同于发件人栏显示的地址.而正常情况下,发送邮 ...
- Ruby中区分运行来源的方法(转)
Ruby中区分运行来源的方法 这篇文章主要介绍了Ruby中区分运行来源的方法,本文讲解的是类似Python中的if name == 'main':效果,其实Ruby中也有类似语法,需要的朋友可以参考下 ...
- 脱离matlab运行可执行程序的步骤
MCR是由matlab的运行环境,占用不到600M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包.MCR环境的设置文件存放目录如 ...
- 【LabVIEW技巧】LabVIEW中的错误2
前言 通过上一个文章的介绍,我们发现LabVIEW自带的错误管理依旧比较基础,如果需要对错误进行很好的管理,则需要进一步的进行程序编写. 用于在程序设计的过程中,为了保证程序的健壮性,我们需要 1.忽 ...
- 【LabVIEW技巧】LabVIEW中的错误1
前言 前几日,小黑充电学习意外的看到了下面的这个东东. 编程许久竟然没有见过这样子的错误枚举,甚为好奇,问刘大后才知道是Error Ring,为此恶补一下LabVIEW中与错误处理相关的内容. 错误的 ...
随机推荐
- ListView 判断有没有选中的行方法
ListView1.SelCount 返回选中行的行数 应该是 没有测试 但是测试了 如果没有选中行 返回0 如果选中一行了 返回1
- 《ASP.NET Core 微服务实战》-- 读书笔记(第6章)
第 6 章 事件溯源与 CQRS 在本章,我们来了解一下随着云平台一同出现的设计模式 我们先探讨事件溯源和命令查询职责分离(CQRS)背后的动机与哲学 事件溯源简介 事实由事件溯源而来 我们大脑就是一 ...
- NC14402 求最大值
题目链接 题目 题目描述 给出一个序列,你的任务是求每次操作之后序列中 (a[j]-a[i])/(j-i)[1<=i<j<=n]的最大值. 操作次数有Q次,每次操作需要将位子p处的数 ...
- 【Unity3D】基于模板测试和顶点膨胀的描边方法
1 前言 选中物体描边特效 中介绍了基于模板纹理模糊膨胀的描边方法,该方法实现了软描边,效果较好,但是为了得到模糊纹理,对屏幕像素进行了多次渲染,效率欠佳.本文将介绍另一种描边方法:基于模板测试和 ...
- Vue中虚拟DOM的理解
Vue中虚拟DOM的理解 Virtual DOM是一棵以JavaScript对象作为基础的树,每一个节点称为VNode,用对象属性来描述节点,实际上它是一层对真实DOM的抽象,最终可以通过渲染操作使这 ...
- 《系列一》-- 2、XmlBeanFactory 的类图介绍.md
阅读之前要注意的东西:本文就是主打流水账式的源码阅读,主导的是一个参考,主要内容需要看官自己去源码中验证.全系列文章基于 spring 源码 5.x 版本. Spring源码阅读系列--全局目录.md ...
- TCP协议的流量控制和拥塞控制
一开始,我总是容易把这2个概念搞混淆了,因此,为了加深理解,我写出来整理下思路. 一:流量控制 什么是流量控制,它涉及到哪些内容呢? 首先,我们看看一个最简单的tcp传输涉及到哪些东西 发送端,数据, ...
- Conda简单教程
目录 什么是Conda 安装Conda 虚拟环境管理 模块管理 何时使用Conda 什么是Conda Conda是Python中用于管理包和虚拟环境的一大利器. 使用Conda可以非常便利的使用数据科 ...
- 统信UOS系统开发笔记(一):国产统信UOS系统搭建开发环境之虚拟机安装
前言 开发国产应用,需要使用到统信UOS系统,之前已经开发过国产银河麒麟V4.V7和V10版本了,本次新项目使用到统信UOS,记录UOS虚拟机安装流程,方便快捷进行相关开发工作. 提前准备 V ...
- python各版本新特性
# py3.7 https://docs.python.org/zh-cn/3/whatsnew/3.7.html # py3.8 https://docs.python.org/zh-cn/3/wh ...