AutoIt3Wrapper は AutoIt3 と Aut2Exe のラッパーアプリケーションです。

AutoIt3スクリプトをコンパイルする:

AutoIt3WrapperはAutoIt3/AUT2EXEのラッパープログラムです。INIファイルに保存された設定やスクリプトーソース内でコンパイラ・ディレクティブによって定義された設定すべてに基づいてスクリプトをコンパイルしたり、ターゲットとなる実行ファイルのコメント、説明、著作権表示、プログラムバージョンといったリソース情報を更新したりすることができます。また現在では最新のプロダクトバージョンやベータバージョンを使用してAU3CheckやAutoit3スクリプトの実行をおこなうこともできます。

 

AutoIt3WrapperはAut2Exe(コンパイル)のラッピングで次のタスクをおこないます:

AutoIt3WrapperはAutoIt3(実行)のラッピングで次のタスクをおこないます:

デフォルトに別の機能を設定するにはAutoIt3Wrapper.ini.exampleをAutoIt3Wrapper.iniという名前でコピーし、デフォルトにしたい全てのオプションを変更してください。

コンパイラ・ディレクティブの使用。

スクリプト内にコンパイラ・ディレクティブを定義することができ、AutoIt3Wrapper.exeはその設定に基づいてそのスクリプトのコンパイルをおこないます:

#Region AutoIt3Wrapper directives section

;** AutoIt3Wrapper.exeで使用されるコンパイラ・ディレクティブのリスト

;** 必要ない行はコメント化すること。そうしないとデフォルト設定に上書きされる。

;===============================================================================================================

#AutoIt3Wrapper_Add_Constants=                  ;必要な標準定数インクルードファイルを追加。1回だけ実行する。

;** AUTOIT3 設定

#AutoIt3Wrapper_UseAnsi=                        ;(Y/N) ANSIバージョンのAutoIt3a、AUT2EXEを使用。デフォルト=N

#AutoIt3Wrapper_UseX64=                         ;(Y/N) X64バージョンのAutoIt3_x64、AUT2EXE_x64を使用。デフォルト=N

#AutoIt3Wrapper_Version=                        ;(B/P) ベータ版、プロダクト版どちらのAutoIt3、AUT2EXEを使うか。デフォルト=P

#AutoIt3Wrapper_Run_Debug_Mode=                 ;(Y/N) スクリプトのコンソールデバッグをおこなうかどうか。デフォルト=N

;===============================================================================================================

;** AUT2EXE 設定

#AutoIt3Wrapper_Icon=                           ;使用するIcoファイルのファイル名

#AutoIt3Wrapper_OutFile=                        ;ターゲットの exe/a3x ファイル名

#AutoIt3Wrapper_OutFile_Type=                   ;a3x=スモール AutoIt3ファイル;  exe=標準実行形式 (デフォルト)

#AutoIt3Wrapper_Compression=                    ;圧縮パラメータ 0-4  0=低 2=通常 4=高。デフォルト=2

#AutoIt3Wrapper_UseUpx=                         ;(Y/N) 出力プログラムを圧縮。デフォルト=Y

#AutoIt3Wrapper_Change2CUI=                     ;(Y/N) 出力プログラムをGUIでなくCUIに変更。デフォルト=N

;===============================================================================================================

;** ターゲットプログラムのリソース情報

#AutoIt3Wrapper_Res_Comment=                    ;コメントフィールド

#AutoIt3Wrapper_Res_Description=                ;説明フィールド

#AutoIt3Wrapper_Res_Fileversion=                ;ファイルバージョン

#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=  ;(Y/N/P) Aut2EXE終了後にファイルバージョンを自動加算。デフォルト=N

;                                                P=プロンプト。コンパイル時にバージョン番号を上げるかどうかたずねる。

#AutoIt3Wrapper_Res_Language=                     ;リソースの言語コード。デフォルトは2057=英語 (英国)

#AutoIt3Wrapper_Res_LegalCopyright=             ;著作権フィールド

#AutoIt3Wrapper_Res_SaveSource=                 ;(Y/N) EXEリソース内にスクリプトソースのコピーを保存。デフォルト=N
#AutoIt3Wrapper_res_requestedExecutionLevel=    ;None、asInvoker、highestAvailable、requireAdministratorのいずれか (デフォルト=None)
;

; 自由形式のリソースフィール ... 最大15
; 次の変数を使用できる:
; %AutoItVer% AutoIt3のバージョンに置き換わる
; %date% = 短い日付形式のPCの日付け
; %longdate% = 長い日付形式のPCの日付け
; %time% = PCのタイムフォーマット
; eg: #AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer%
#AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer%

#AutoIt3Wrapper_Res_Field=Name|Value            ;自由形式 フィールド名|フィールド値

#AutoIt3Wrapper_Res_Field=Name|Value            ;自由形式 フィールド名|フィールド値

#AutoIt3Wrapper_Res_Field=Name|Value            ;自由形式 フィールド名|フィールド値

#AutoIt3Wrapper_Res_Field=Name|Value            ;自由形式 フィールド名|フィールド値

;TraySetIcon(@ScriptFullPath, 3)などで使用される追加ICOファイルを追加

;追加されるIcoファイルのファイル名リスト。最初が3番、次が4番、以降...など

#AutoIt3Wrapper_Res_Icon_Add=                   ; 追加されるICOのファイル名

#AutoIt3Wrapper_Res_Icon_Add=                   ; 追加されるICOのファイル名

#AutoIt3Wrapper_Res_File_Add=                   ; 追加されるファイル名[,セクション[,リソース名]]
#AutoIt3Wrapper_Res_File_Add=                   ; 追加されるファイル名[,セクション[,リソース名]]

;===============================================================================================================

; Tidy 設定

#AutoIt3Wrapper_Run_Tidy=                       ;(Y/N) コンパイル前にTidyを実行。デフォルト=N

#AutoIt3Wrapper_Tidy_Stop_OnError=              ;(Y/N) 警告のみの場合、処理を実行。デフォルト=Y

#Tidy_Parameters=                               ;Tidyのパラメータ パラメータについてはSciTE4AutoIt3のヘルプファイルを参照

;===============================================================================================================

; Obfuscator

#AutoIt3Wrapper_Run_Obfuscator=                 ;(Y/N) コンパイル前にObfuscatorを実行。デフォルト=N

#obfuscator_parameters

;===============================================================================================================

; AU3CHECK 設定

#AutoIt3Wrapper_Run_AU3Check=                   ;(Y/N) コンパイル前にau3checkを実行。デフォルト=Y

#AutoIt3Wrapper_AU3Check_Parameters=            ;Au3Checkのパラメータ

#AutoIt3Wrapper_AU3Check_Dat=                   ;デフォルトのau3check定義を上書き

#AutoIt3Wrapper_AU3Check_Stop_OnWarning=        ;(Y/N) N=警告時に続行 (デフォルト) Y=警告時は常に停止

#AutoIt3Wrapper_PlugIn_Funcs=                   ; AU3Checkのエラーを避けるためにカンマで区切られたプラグイン関数名を定義

;===============================================================================================================

; cvsWrapper 設定

#AutoIt3Wrapper_Run_cvsWrapper=                 ;(Y/N/V) スクリプトソースを更新するためにcvsWrapperを実行。デフォルト=N

;                                                 V=#AutoIt3Wrapper_Res_FileVersion_AutoIncrementによってバージョンがあがる際のみ.

#AutoIt3Wrapper_cvsWrapper_Parameters=          ; /NoPrompt : cvsCommentsプロンプトをスキップ
;                                                 /Comments : cvsCommentsに追加するテキスト。次の変数を使用できる。
;===============================================================================================================

; 実行前、実行後 定義

; 次のディレクティブを使用可能:

;   %in% , %out%, %icon% フルパス\ファイル名で置換される。

;   %scriptdir% @ScriptDirと同じ %scriptfile% = 拡張子なしのファイル名

;   %fileversion% #AutoIt3Wrapper_Res_Fileversion ディレクティブからの情報

;   %scitedir% SciTEのプログラムディレクトリで置換される。

;   %autoitdir% AutoIt3の プログラムディレクトリで置換される。
#AutoIt3Wrapper_Run_Before=        
;コンパイル前に実行されるプロセス - 順に処理されるプロセスを複数登録できる

#AutoIt3Wrapper_Run_After=          ;コンパイル後に実行されるプロセス - 順に処理されるプロセスを複数登録できる

#EndRegion

 

 

プログラムリソースに追加アイコンを追加。

この例ではプログラムリソースに追加アイコンを追加し、スクリプト内でそれを使用しています。

ためしに下のスクリプトをコンパイルし、exeを実行してみてください:

#AutoIt3Wrapper_Res_Icon_Add=C:\Program Files\AutoIt3\Icons\au3.ico

#AutoIt3Wrapper_Res_Icon_Add=C:\Program Files\AutoIt3\Icons\filetype1.ico

#AutoIt3Wrapper_Res_Icon_Add=C:\Program Files\AutoIt3\Icons\filetype2.ico

#AutoIt3Wrapper_Res_Icon_Add=C:\Program Files\AutoIt3\Icons\filetype3.ico

#AutoIt3Wrapper_Res_Icon_Add=C:\Program Files\AutoIt3\Icons\filetype-blank.ico

#include <ButtonConstants.au3>

GUICreate("Demo resource ICO's")

$h_Button1 = GUICtrlCreateButton("my picture button", 10, 20, 40, 40, $BS_ICON)

GUISetState()

For $x = 0 To 7

   $rc = TraySetIcon(@ScriptFullPath, -$x)

   $rc2 = GUICtrlSetImage($h_Button1, @ScriptFullPath, -$x)

   If $x < 3 Then

      TrayTip("Default ico:" & $x, "TraySetIcon rc:" & $rc & @LF & "GUICtrlSetImage rc:" & $rc2, 3)

   Else

      TrayTip("New ico:" & $x, "TraySetIcon rc:" & $rc & @LF & "GUICtrlSetImage rc:" & $rc2, 3)

   EndIf

   Sleep(2000)

Next

GUIDelete()