今天来学习下如何在capl中调用外部的可执行程序,用到的方法是testWaitForSyscall()。当然,还有另一个capl函数也可以调用可执行程序,猜猜是哪个,以及这两个函数分别用在什么场景下?
这里的可执行程序,指的是windows系统中的exe程序,所以capl调用的就是exe文件
TestWaitForSyscall
先来看一下这个函数的语法
long TestWaitForSyscall(char aCommandline[], long aExitcode, dword aTimeout)
long TestWaitForSyscall(char aWorkingdir[], char aCommandline[], long aExitcode, dword aTimeout)
这个函数是用来启动外部的应用程序
参数
- aWorkingdir
应用程序的工作目录 - aCommandline
应用程序的命令行,包括可能传入应用程序的参数,它们之间用空格分隔 - aExitcode
期待的应用程序的退出代码 - aTimeout
期望的应用程序结束的最大等待时间
返回值
- 1:应用程序退出代码和期望的退出代码相同
- 0:超过最大等待时间应用程序还未退出
- -1:由于错误导致应用程序未启动
- -2:应用程序退出代码和期望的退出代码不同
- -999:还在等待