可以将 .au3 脚本文件编译为独立的可执行文件; 文件可以在没有安装 AutoIt (或者说没有 AutoIt3.exe 解释程序)的机器上运行.
编译好的脚本程序是经过压缩和可以加密的,可使用 FileInstall 函数加载所需的外部文件(同样也会被压缩和可以加密)到生成的程序中.
所有被 #include(包含) 的文件都会被连接并编译到目标文件中,这样脚本(程序)在运行时就不再需要这些文件了.
注意: 编译不检查语法, 因此必须避免脚本的语法错误!.
Aut2Exe 的启动方法有以下三种:
此方法要求完整安装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
此方法要求完整安装AutoIt(汉化版安装也一样)
1. 在资源管理器里面找到您需要编译的脚本文件(.au3).
2. 在脚本图标上面点击右键,访问弹出菜单.
3. 文件将自动编译为与脚本同名、同目录的 .exe 可执行文件,.
这种方式,Aut2Exe 使用当前图标/压缩设置(也即最后一次运行 Aut2Exe 时的设置,比喻在方法 1 中的手动设置).
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) |