以下文字来自于
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时,标准输入将被忽略。