Skip to content

EXEC ​


临时将执行控制权转移到外部程序

语法 ​

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 — 获取参数

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系