在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中与错误处理相关的内容. 错误的 ...
随机推荐
- Loading进度条
- 了解一下基本的http代理配置
我们首先用一个简单例子了解一下基本的http代理配置 worker_processes 1; #nginx worker 数量 error_log logs/error.log; #指定错误日志文件路 ...
- Iot学习笔记记录
前言 2024.1.13 沙青图书馆 甚至一开始打成了2023年.各位新年快乐.有时间会写下2023的年度总结.不过在此要提前开一个博客,记录一下接下来学习Iot安全的记录了.实在是再不学就要被学弟学 ...
- hdparm 常用命令介绍
hdparm命令介绍 通常情况下可以使用fdisk.df等命令查看硬盘的分区情况以及当前已使用空间大小.剩余空间大小等信息.但是如果要查看硬盘的硬件信息如 硬盘型号.序列号.已运行时间等信息该用什么工 ...
- Vue+SpringBoot+ElementUI实战学生管理系统-10.学生管理模块
1.章节介绍 前一篇介绍了教师管理模块,这一篇编写学生管理模块,需要的朋友可以拿去自己定制.:) 2.获取源码 源码是捐赠方式获取,详细请QQ联系我 :)! 3.实现效果 学生列表 修改学生 4.模块 ...
- spring boot整合spring cloud
本项目还是通过卖票和买票模块来介绍spring cloud. 1.新建服务注册模块:eureka-server 1.1 配置pom <?xml version="1.0" e ...
- 信捷电气 - C++工程师面试题(社招:3-5年工作经验)
1. char i = 1; printf("%d",i); // char字节用printf以整数型打印出来 2. int (*a[10])int a[10]是函数指针数组 ...
- 【Python语法糖】闭包和装饰器
Python闭包和装饰器 参考: https://zhuanlan.zhihu.com/p/453787908 https://www.bilibili.com/video/BV1JW411i7HR/ ...
- SOTIF很快将会取代ISO 26262?为您详细解读SOTIF标准ISO/PAS 21448
SOTIF很快将会取代ISO 26262?为您详细解读SOTIF标准ISO/PAS 21448 根据MES模赛思对其全球客户的问卷调查表明, 尽管有相当一部分的参与者(35%)认为SOTIF在功能安全 ...
- 【Azure 环境】当Azure Key Vault中存储的证书即将过期时,如何设置Alert邮件警报?
问题描述 当Azure Key Vault 中存储的证书即将过期时, 如何设置Alert邮件警报? 问题解答 首先,在创建完一个证书后,需要为证书添加一个"证书联系人" 然后,点击 ...