在已编译的脚本中包含指定的文件.
FileInstall Source, Dest , Overwrite
类型: 字符串
要添加到已编译可执行文件中的文件名. 如果没有指定绝对路径, 则假定该文件位于(或相对于) 脚本自己的目录中.
这个参数必须是一个带引号的字符串(不是变量或任何其他表达式), 并且必须列在函数名 FileInstall 的右边(即, 不能在它下面使用的延续行上).
类型: 字符串
当从可执行文件中提取 Source 时, 为其创建的文件的名称. 如果没有指定绝对路径则假定在 A_WorkingDir. 目标目录必须已经存在.
类型: 整数
此参数指定是否覆盖已存在的文件. 如果省略, 它默认为 0(不覆盖). 否则, 请指定以下数字之一:
0: 不覆盖现有的文件. 如果 Dest 已经存在, 则操作会失败并且没有任何效果.
1: 覆盖现有的文件.
其他值保留供将来使用.
失败时抛出异常.
任何不能将文件写到目的地的情况都被认为是失败. 例如:
当 Ahk2Exe 在编译脚本的过程中读取对这个函数的调用时, Source 所指定的文件会被添加到所生成的编译脚本中. 之后, 当编译后的脚本 EXE 运行并执行对 FileInstall 的调用时, 该文件会从 EXE 中提取并写入 Dest 指定的位置.
在编译过程中, 添加到脚本中的文件既不会被压缩也不会被加密, 但编译的脚本 EXE 可以通过使用 Ahk2Exe 中适当的选项进行压缩.
如果在普通(未编译) 脚本中使用此函数, 则会简单地复制一个副本 -- 这有助于测试最终将被编译的脚本. 如果完整的源路径和目标路径相同, 则不进行任何操作, 因为尝试将文件复制到其当前位置将导致错误. 路径在使用 GetFullPathName 展开后与 lstrcmpi 进行比较.