在 CAPL 中,是否有 start/open 后台可执行文件的功能?

In CAPL, is there any function to start/open an executable in background?

我想运行 CAPL 脚本中的可执行文件。有什么功能吗?
我正在寻找一个函数,它将在后台 运行 一个可执行文件。例如。如果收到某个消息,则启动应用程序。
在 CAPL 中有这种可能性吗?

是的,有两个函数可以做到这一点:

long sysExec(char cmd[], char params[]);
long sysExec(char cmd[], char params[], char directory[]);

long sysExecCmd(char cmd[], char params[]);
long sysExecCmd(char cmd[], char params[], char directory[]);

这些函数执行外部命令。他们不会等到命令完成执行。如果命令启动成功,return 值为 1;否则为 0。请注意,命令本身的 return 值不会被 return 编辑,因为调用不会等待命令完成。

sysExec 必须给一个可执行文件; sysExecCmd 使用第一个参数调用 cmd.exe /K,这会打开一个命令 window,在其中执行命令就像直接输入一样。

请注意,在使用 VN8900 设备、实时模块(VT 6000 系列)或 CANoe RT 服务器的分布式仿真环境中,sysExec 在远程平台上执行请求的命令。

这是一个例子:

sysExec("C:\windows\notepad.exe", "");

第三个选项,如果你不需要并行处理是 testwaitforsyscall() 函数。

这将等待您的外部可执行文件 x 超时到 return,并将分析您的应用程序是正确退出、错误退出、出现错误还是超时。