EXEC
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgExec
- 最后更新: 2022-03-25
临时将执行控制权转移到外部程序
语法
declare function Exec ( byref program as const string, byref arguments as const string ) as long用法
result = Exec( program, arguments )参数
program
要转移控制权的程序(可执行文件)的文件名(包含文件路径)。
arguments
传递给该程序的命令行参数。
返回值
返回程序的退出状态码;若程序无法执行,则返回负一(-1)。
说明
将控制权转移到外部程序。当该程序退出后,执行流立即从 Exec 调用之后的位置恢复。
示例
vb
'A Windows based example but the same idea applies to Linux
Const exename = "NoSuchProgram.exe"
Const cmdline = "arg1 arg2 arg3"
Dim result As Long
result = Exec( exename, cmdline )
If result = -1 Then
Print "Error running "; exename
Else
Print "Exit code:"; result
End If平台差异
- Linux 要求 program 大小写与文件实际名称匹配;Windows 和 DOS 不区分大小写。被执行的程序对其命令行参数可能区分大小写。
- Linux 中路径分隔符为正斜杠 /;Windows 使用反斜杠 \,但也允许正斜杠;DOS 使用反斜杠 \。
- DOS 中退出码限制为 8 位。
方言差异
- 在 -lang qb 方言中不可用,除非使用别名
__Exec引用。
与 QB 的差异
- FreeBASIC 新增
另请参阅
Chain— 临时转移,无参数Run— 单向转移Command— 获取参数
返回 目录