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 是开源项目,与微软公司无隶属关系