如何在LabVIEW中以编程方式运行可执行文件

更新 Nov 10, 2020

环境

软件

  • LabVIEW

我有一个要从LabVIEW应用程序中调用的应用程序或可执行文件(* .exe文件)。如何从LabVIEW程序中启动该可执行文件?如果可执行文件需要或可以采用输入选项,该怎么办?

在LabVIEW中调用* .exe文件的常用方法是使用System Exec VI。 System Exec VI位于LabVIEW 7.x的“通讯”选板中,或者位于LabVIEW 8.x及更高版本的“连接性»库与可执行文件”选板上。

System Exec VI接受在Windows命令提示符下执行的字符串输入。如果Windows PATH环境变量中存在可执行文件目录,则可以通过使用可执行文件名作为此字符串输入来运行该可执行文件(例如application_name.exe)。否则,您将需要在命令行输入中包含可执行文件的完整文件路径,并在工作目录输入中包含可执行文件的文件夹的文件路径。有关如何实现System Exec VI的示例,请参见附加信息。


System Exec VI不支持文件名后的调用选项。如果您的应用程序要求您使用选项调用可执行文件,则可以执行以下操作:
  1. 创建一个filename.bat文件,该文件调用可执行文件,然后调用所需的选项(例如filename.exe -option1 -option2 )。
  2. 然后,使用LabVIEW System Exec VI调用filename.bat文件。

附加信息

有关使用System Exec VI的示例,请参考LabVIEW 2012及更低版本中<LabVIEW> \ examples \ comm目录中的调用System Exec VI,或参见<LabVIEW> \ examples \ Connectivity \中的命令行执行VI。 LabVIEW 2013及更高版本中的“库和可执行文件”目录。另外,请参见下面的LabVIEW摘录,以简单的方式从LabVIEW内部运行Windows Notepad程序(至少需要LabVIEW 8.0)。



如果您使用的是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-显示

如果您使用的是LabVIEW 64位版本,则不必将路径从C:\ Windows \ System32更改为C:\ Windows \ sysnative。

如果在LabVIEW环境中打开.exe时遇到问题,请尝试使用较新版本的LabVIEW