【发布时间】:2017-10-17 07:49:35
【问题描述】:
我想从 CAPL 脚本运行可执行文件。有什么功能吗?
我正在寻找一个可以在后台运行可执行文件的函数。例如。如果收到某个消息,则启动应用程序。
CAPL中是否有这种可能性?
【问题讨论】:
我想从 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[]);
这些函数执行外部命令。他们不会等到命令完成执行。如果命令启动成功,则返回值为 1;否则为 0。请注意,不会返回来自命令本身的返回值,因为调用不会等待命令完成。
sysExec 必须被赋予一个可执行文件; sysExecCmd 使用第一个参数调用cmd.exe /K,这将打开一个命令窗口,在该窗口中执行命令,就像直接输入一样。
请注意,在使用 VN8900 设备、实时模块(VT 6000 系列)或 CANoe RT 服务器的分布式仿真环境中,sysExec 在远程平台上执行请求的命令。
这是一个例子:
sysExec("C:\\windows\\notepad.exe", "");
【讨论】:
第三个选项,如果你不需要并行处理是 testwaitforsyscall() 函数。
这将等待您的外部可执行文件返回 x 超时,并将分析您的应用程序是否正确退出、错误退出、出现错误或超时。
【讨论】: