解决方案
这可以通过ActiveX 方法和属性来实现。
您可以在 Python 代码中使用 win32com 和 pywin32 模块来达成。以下代码连接到路径指定的正在运行 VI,并返回名为"main"的控件的值。
import win32com.client
labview = win32com.client.Dispatch("Labview.Application")
VI = labview.getvireference(r'c:\TEMP\ctrl\ctrl.vi')
print(f'Name: {VI.Name}')
print(VI.getcontrolvalue('main'))
如果您想连接到已构建的可执行文件,则必须修改 dispatch application 的参数 (i.e., "ctrl.Application"),并且将 VI 的路径额外加到外层作为参考路径:
import win32com.client
labview = win32com.client.Dispatch("ctrl.Application")
VI = labview.getvireference(r'c:\TEMP\ctrl\Ctrl.exe\ctrl.vi')
print(f'Name: {VI.Name}')
print(VI.getcontrolvalue('main'))