使用 Aut2Exe 编译脚本

可以将 .au3 脚本文件编译为独立的可执行文件; 文件可以在没有安装 AutoIt (或者说没有 AutoIt3.exe 解释程序)的机器上运行.

编译好的脚本程序是经过压缩和可以加密的,可使用 FileInstall 函数加载所需的外部文件(同样也会被压缩和可以加密)到生成的程序中.

所有被 #include(包含) 的文件都会被连接并编译到目标文件中,这样脚本(程序)在运行时就不再需要这些文件了.

注意: 编译不检查语法, 因此必须避免脚本的语法错误!.

 

Aut2Exe 的启动方法有以下三种:

方法 1 - 开始菜单

此方法要求完整安装AutoIt(使用英文版).

1. 打开开始菜单并选择 AutoIt v3 程序组.

2. 点击 “Compile Script to .exe”.

3. Aut2Exe 的主界面就出现在您的面前了.

       

4. 点击“浏览”按钮分别选择源码文件.au3 ; 输出目标文件 .exe .

5. 您还可以为您的程序选择一个有意义的图标;
(AutoIt 在 Au3 安装目录下 Program Files\AutoIt3\Aut2Exe\Icons 提供了一些典型的 ico 图标).

6. 唯一的其它选项是,使用"压缩"菜单设定你可能需要的压缩级别 (尤其是使用 FileInstall 添加了外部文件的脚本时).

这里的选择将决定编译转换的速度, 选择“最高”则压缩速度将较缓慢.

不同的压缩级别与解压缩速度编辑的.exe 文件,在运行时是相同的.

7. 单击 Convert 按钮开始编译脚本.

注意: 脚本也可以编译成扩展名为 .a3x 的文件. 但 .a3x 文件需要与 AutoIt.exe 一起运行.

.a3x 文件包含脚本本身、全部 #include (包含)文件、FileInstall 添加文件. 这个格式的发布文件体积较小.

因为在每个编译好的程序中不包括 AutoIt3.exe. 你仍然需要在目标机器上安装AutoIt3.exe

 

方法 2 - 鼠标右键菜单

此方法要求完整安装AutoIt(汉化版安装也一样)

1. 在资源管理器里面找到您需要编译的脚本文件(.au3).

2. 在脚本图标上面点击右键,访问弹出菜单.

       

3. 文件将自动编译为与脚本同名、同目录的 .exe 可执行文件,.

这种方式,Aut2Exe 使用当前图标/压缩设置(也即最后一次运行 Aut2Exe 时的设置,比喻在方法 1 中的手动设置).

 

方法 3 - 使用命令行

Aut2Exe.exe 程序可以使用如下命令行运行:

    Aut2exe.exe /in <脚本文件.au3> [/out <输出文件.exe>] [/icon <图标文件.ico>] [/comp 0-4] [/nopack] [x64] [/bin <binfile.bin>]

命令参数解释如下:

命令开关 用法描述 默认值
/in <脚本文件.au3> 脚本文件的路径和文件名. 无默认值. 文件必须指定
/out <输出文件.exe> .exe 输出文件的路径和文件名.
<输出文件.a3x> .a3x 输出文件的路径和文件名.
输出 .exe 文件
/icon <图标文件.ico> 输出文件的图标路径和图标文件名. 使用 AutoIt 图标
/comp 压缩级别 (不涉及 UPX 压缩).
必须在 0 (不压缩) 到 4 (最大压缩)之间.
2
/nopack 使用 UPX 编译不压缩文件. 压缩
/pack 使用 UPX 编译并压缩文件. 压缩
/x64 编译为 x64 (64 位) 结构. 见注意事项
/x86 编译为 x32 (32 位) 结构. 见注意事项
/console 编译为控制台应用程序. 编译为 Windows 应用程序 (/gui)
/gui 编译为 Windows 应用程序. 编译为 Windows 应用程序 (/gui)
/bin <bin文件.bin> 用于编辑的 bin 文件的路径和文件名. 搜索 Aut2exe 文件夹

 

命令行示例

/in c:\myscript.au3 /out c:\myapp.exe /icon c:\myicon.ico /x64

创建 c:\myapp.exe 文件、正常压缩、使用指定图标、编译为 x64 系统应用.

/in c:\myscript.au3

创建 c:\myscript.exe 文件、使用 unicode(统一码)、 正常压缩、使用默认 AutoIt 图标、编译为32位系统应用.

 

命令行注意事项

长文件名应该加双引号,例如: "C:\Program Files\Test\test.au3".

除 /in 以外,所有的开关都是可选的.

默认情况下,32 位编译器生成 32 位二进制文件,64 位编译器生成 64 位二进制文件. 使用 / x86 和 / X64 参数明确指定输出文件

从 3.2.8.1 版起,/pass 与 /nodecompile 开关是多余的. 如果使用它们,将会忽略,而且已经从上面列表中移除.

从 3.3.0.0 版起,/ansi 与 /unicode 开关是多余的

 

技术资料

脚本编译和使用 FileInstall 函数装入外部文件时,使用我(Jon)自己的压缩算法

 

provider with jb51.net (unicode)