Jump to content

AutoIt Portable v 0.0.2 [Open-Source]


Recommended Posts

AutoIt Portable Workstation

AIP allows you to carry a light AutoIt script editor and compiler with you to use on the fly. This program can run x86 and x64 scripts or compile them to EXE. When the program is launched, it will create a temp work folder in the script directory. Once the program is closed this folder will be automatically deleted. When you compile a script it will output in the the script directory in a folder named "compiled".

preview_v_0_0_2.jpg

Current version: 0.0.2

Version 0.0.2 updates:

Added more options to the comiler

Planned Updates:

  • Script editor font appearance.
  • Automaticly color coded tags in editor

Built In Includes:

APIComConstants.au3
APIConstants.au3
APIDiagConstants.au3
APIDlgConstants.au3
APIErrorsConstants.au3
APIFilesConstants.au3
APIGdiConstants.au3
APILocaleConstants.au3
APIMiscConstants.au3
APIProcConstants.au3
APIRegConstants.au3
APIResConstants.au3
APIShellExConstants.au3
APIShPathConstants.au3
APISysConstants.au3
APIThemeConstants.au3
Array.au3
AutoItConstants.au3
AVIConstants.au3
BorderConstants.au3
ButtonConstants.au3
Clipboard.au3
Color.au3
ColorConstants.au3
ComboConstants.au3
Constants.au3
Crypt.au3
Date.au3
DateTimeConstants.au3
Debug.au3
DirConstants.au3
EditConstants.au3
EventLog.au3
Excel.au3
ExcelConstants.au3
File.au3
FileConstants.au3
FontConstants.au3
FrameConstants.au3
FTPEx.au3
GDIPlus.au3
GDIPlusConstants.au3
GuiAVI.au3
GuiButton.au3
GuiComboBox.au3
GuiComboBoxEx.au3
GUIConstants.au3
GUIConstantsEx.au3
GuiDateTimePicker.au3
GuiEdit.au3
GuiHeader.au3
GuiImageList.au3
GuiIPAddress.au3
GuiListBox.au3
GuiListView.au3
GuiMenu.au3
GuiMonthCal.au3
GuiReBar.au3
GuiRichEdit.au3
GuiScrollBars.au3
GuiSlider.au3
GuiStatusBar.au3
GuiTab.au3
GuiToolbar.au3
GuiToolTip.au3
GuiTreeView.au3
HeaderConstants.au3
IE.au3
ImageListConstants.au3
Inet.au3
InetConstants.au3
IPAddressConstants.au3
ListBoxConstants.au3
ListViewConstants.au3
Math.au3
Memory.au3
MemoryConstants.au3
MenuConstants.au3
Misc.au3
MsgBoxConstants.au3
NamedPipes.au3
NetShare.au3
NTSTATUSConstants.au3
Process.au3
ProcessConstants.au3
ProgressConstants.au3
RebarConstants.au3
RichEditConstants.au3
ScreenCapture.au3
ScrollBarConstants.au3
ScrollBarsConstants.au3
Security.au3
SecurityConstants.au3
SendMessage.au3
SliderConstants.au3
Sound.au3
SQLite.au3
SQLite.dll.au3
StaticConstants.au3
StatusBarConstants.au3
String.au3
StringConstants.au3
StructureConstants.au3
TabConstants.au3
Timers.au3
ToolbarConstants.au3
ToolTipConstants.au3
TrayConstants.au3
TreeViewConstants.au3
UDFGlobalID.au3
UpDownConstants.au3
Visa.au3
WinAPI.au3
WinAPICom.au3
WinAPIConstants.au3
WinAPIDiag.au3
WinAPIDlg.au3
WinAPIError.au3
WinAPIEx.au3
WinAPIFiles.au3
WinAPIGdi.au3
WinAPIInternals.au3
WinAPIlangConstants.au3
WinAPILocale.au3
WinAPIMisc.au3
WinAPIProc.au3
WinAPIReg.au3
WinAPIRes.au3
WinAPIShellEx.au3
WinAPIShPath.au3
WinAPISys.au3
WinAPIsysinfoConstants.au3
WinAPITheme.au3
WinAPIvkeysConstants.au3
WindowsConstants.au3
WinNet.au3
Word.au3
WordConstants.au3

Source Code:

#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=..\AIP\Icon.ico
#AutoIt3Wrapper_Res_Description=Compile your AutoIt scripts on the fly!
#AutoIt3Wrapper_Res_Fileversion=0.0.2.0
#AutoIt3Wrapper_Res_LegalCopyright=Copyright 2014 zelles
#AutoIt3Wrapper_Res_Language=1033
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>


#Region Begin Startup Settings
_Singleton("AutoItPortableByzelles")
Opt("GUIOnEventMode", 1)
Opt("TrayMenuMode", 3)
#EndRegion End Startup Settings


#Region Begin Startup Globals
Global $DIR_complier_output = @ScriptDir & "\compiled"
Global $DIR_TEMP = @ScriptDir & "\temp_appdata"
Global $DIR_includes = $DIR_TEMP & "\includes"
Global $FILE_icon = $DIR_TEMP & "\Icon.ico"
Global $FILE_TEMP = $DIR_includes & "\aip_temp.au3"
Global $FILE_TEMP_EXE = $DIR_TEMP & "\aip_temp.exe"
Global $IMG_Splash = $DIR_TEMP & "\splash.gif"
Global $Last_Opened = "AIPScript.au3"
#EndRegion End Startup Globals


#Region Begin Startup Functions
GUI_Splash()
Create_Temp_Workstation()
GUIDelete($GUI_Splash)
GUI_Workstation()
#EndRegion End Startup Functions


#Region Begin Idle Loop To Keep Program Alive
While 1
    Sleep(100)
WEnd
#EndRegion End Idle Loop To Keep Program Alive


#Region Begin Splash GUI Creation
Func GUI_Splash()
    If Not FileExists($DIR_TEMP) Then DirCreate($DIR_TEMP)
    FileInstall("C:\AIP\splash.gif", $DIR_TEMP & "\splash.gif", 0)
    Global $GUI_Splash = GUICreate("Starting AutoIt Portable", 401, 257, 192, 124)
    GUISetBkColor(0xFFFFFF)
    Global $splash_image = GUICtrlCreatePic($IMG_Splash, 0, 0, 400, 250)
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "Close_Spash", $GUI_Splash)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Close_Spash", $GUI_Splash)
    GUISetState(@SW_SHOW)
EndFunc
#EndRegion End Splash GUI Creation


#Region Begin Workstation GUI Creation
Func GUI_Workstation()
    Global $GUI_Workstation = GUICreate("AutoIt Portable Workstation", 701, 431, 174, 115)
    Global $File_Menu_File = GUICtrlCreateMenu("&File")
    Global $File_Menu_New = GUICtrlCreateMenuItem("New File", $File_Menu_File)
    Global $File_Menu_Open = GUICtrlCreateMenuItem("Open File", $File_Menu_File)
    Global $File_Menu_Save = GUICtrlCreateMenuItem("Save File", $File_Menu_File)
    Global $File_Menu_Exit = GUICtrlCreateMenuItem("Exit", $File_Menu_File)
    Global $File_Menu_Options = GUICtrlCreateMenu("&Script Options")
    Global $File_Menu_Runx86 = GUICtrlCreateMenuItem("Run x86", $File_Menu_Options)
    Global $File_Menu_Runx64 = GUICtrlCreateMenuItem("Run x64", $File_Menu_Options)
    Global $File_Menu_Compiler = GUICtrlCreateMenuItem("Run Compiler", $File_Menu_Options)
    Global $File_Menu_Help = GUICtrlCreateMenu("&Help")
    Global $File_Menu_About = GUICtrlCreateMenuItem("About", $File_Menu_Help)
    Global $GUI_Workstation_WorkArea = GUICtrlCreateEdit('MsgBox(0, "Welcome Note:", "Thank you for using AutoIt Portable!")', 0, 0, 700, 409, BitOR($ES_AUTOVSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
    GUICtrlSetOnEvent($File_Menu_New, "GUI_File_New")
    GUICtrlSetOnEvent($File_Menu_Open, "GUI_File_Open")
    GUICtrlSetOnEvent($File_Menu_Save, "GUI_File_Save")
    GUICtrlSetOnEvent($File_Menu_Exit, "Close_Workstation")
    GUICtrlSetOnEvent($File_Menu_Runx86, "GUI_Run_x86")
    GUICtrlSetOnEvent($File_Menu_Runx64, "GUI_Run_x64")
    GUICtrlSetOnEvent($File_Menu_Compiler, "GUI_Compiler")
    GUICtrlSetOnEvent($File_Menu_About, "GUI_About")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Close_Workstation", $GUI_Workstation)
    GUISetState(@SW_SHOW, $GUI_Workstation)
EndFunc
#EndRegion End Workstation GUI Creation


#Region Begin Compiler GUI Creation
Func GUI_Compiler()
    Global $GUI_Compiler = GUICreate("AICompiler GUI", 234, 447, 325, 143)
    Local $GUI_Compiler_Label1 = GUICtrlCreateLabel("App Name:", 8, 11, 57, 17)
    Local $GUI_Compiler_Label2 = GUICtrlCreateLabel("App Icon:", 8, 35, 50, 17)
    Local $GUI_Compiler_Label3 = GUICtrlCreateLabel("Product Name:", 8, 59, 75, 17)
    Local $GUI_Compiler_Label4 = GUICtrlCreateLabel("Company Name:", 8, 83, 82, 17)
    Local $GUI_Compiler_Label5 = GUICtrlCreateLabel("Copyright:", 8, 107, 51, 17)
    Local $GUI_Compiler_Label6 = GUICtrlCreateLabel("Trademarks:", 8, 131, 63, 17)
    Local $GUI_Compiler_Label7 = GUICtrlCreateLabel("File Version:", 8, 155, 61, 17)
    Local $GUI_Compiler_Label8 = GUICtrlCreateLabel("Product Version:", 8, 179, 82, 17)
    Local $GUI_Compiler_Label9 = GUICtrlCreateLabel("Description:", 8, 203, 60, 17)
    Local $GUI_Compiler_Label10 = GUICtrlCreateLabel("Comment:", 8, 227, 51, 17)
    Local $GUI_Compiler_Label11 = GUICtrlCreateLabel("Ignore Directives:", 8, 251, 87, 17)
    Local $GUI_Compiler_Label12 = GUICtrlCreateLabel("Compile For:", 8, 275, 62, 17)
    Local $GUI_Compiler_Label13 = GUICtrlCreateLabel("Compression:", 8, 299, 67, 17)
    Local $GUI_Compiler_Label14 = GUICtrlCreateLabel("Comp. w/ UPX:", 8, 323, 78, 17)
    Local $GUI_Compiler_Label15 = GUICtrlCreateLabel("Execution Level:", 8, 347, 83, 17)
    Local $GUI_Compiler_Label16 = GUICtrlCreateLabel("Compatibility:", 8, 371, 65, 17)
    Local $GUI_Compiler_Label17 = GUICtrlCreateLabel("App Type:", 8, 395, 53, 17)
    Global $GUI_Compiler_OutputFile = GUICtrlCreateInput("My App", 72, 8, 153, 21)
    Global $GUI_Compiler_IconFile = GUICtrlCreateInput($FILE_icon, 72, 32, 105, 21)
    Global $GUI_Compiler_LoadIcon_Button = GUICtrlCreateButton("Load", 184, 32, 43, 21)
    Global $GUI_Compiler_ProductName = GUICtrlCreateInput("", 88, 56, 137, 21)
    Global $GUI_Compiler_CompanyName = GUICtrlCreateInput("", 88, 80, 137, 21)
    Global $GUI_Compiler_Copyright = GUICtrlCreateInput("", 72, 104, 153, 21)
    Global $GUI_Compiler_Trademarks = GUICtrlCreateInput("", 72, 128, 153, 21)
    Global $GUI_Compiler_FileVersion = GUICtrlCreateInput("", 88, 152, 137, 21)
    Global $GUI_Compiler_ProductVersion = GUICtrlCreateInput("", 88, 176, 137, 21)
    Global $GUI_Compiler_Description = GUICtrlCreateInput("", 72, 200, 153, 21)
    Global $GUI_Compiler_Comment = GUICtrlCreateInput("", 72, 224, 153, 21)
    Global $GUI_Compiler_IgnoreDirectives = GUICtrlCreateCheckbox("Ignore", 120, 248, 65, 17)
    Global $GUI_Compiler_x86 = GUICtrlCreateCheckbox("x86", 120, 273, 49, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    Global $GUI_Compiler_x64 = GUICtrlCreateCheckbox("x64", 176, 273, 49, 17)
    Global $GUI_Compiler_Compression = GUICtrlCreateCombo("None", 88, 296, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_Compression, "Low|Medium|High|Highest", "None")
    Global $GUI_Compiler_UPXCompression = GUICtrlCreateCombo("Dont Compress", 88, 320, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_UPXCompression, "Compress", "Dont Compress")
    Global $GUI_Compiler_ExecutionLevel = GUICtrlCreateCombo("None", 88, 344, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_ExecutionLevel, "AsInvoker|Highest Avail|Require Admin", "None")
    Global $GUI_Compiler_Compatibility = GUICtrlCreateCombo("All", 88, 368, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_Compatibility, "Windows Vista|Windows 7|Windows 8", "All")
    Global $GUI_Compiler_AppType = GUICtrlCreateCombo("Default", 88, 392, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_AppType, "GUI|Console", "Default")
    Global $GUI_Compiler_Compile_Button = GUICtrlCreateButton("Compile", 136, 416, 91, 25)
    GUICtrlSetOnEvent($GUI_Compiler_LoadIcon_Button, "Compiler")
    GUICtrlSetOnEvent($GUI_Compiler_Compile_Button, "Compiler")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Close_Compiler", $GUI_Compiler)
    GUISetState(@SW_SHOW, $GUI_Compiler)
EndFunc
#EndRegion End Compiler GUI Creation


#Region Begin Splash GUI Events
Func Close_Spash()
    TrayTip("AIP Response", "Please wait for AIP to finish initializing", 6)
EndFunc
#EndRegion End Splash GUI Creation


#Region Begin Workstation GUI Events
Func GUI_File_New()
    GUICtrlSetData($GUI_Workstation_WorkArea, "")
EndFunc
Func GUI_File_Open()
    Local $f_open_script = FileOpenDialog("Open AutoIt Script", @ScriptDir, "au3 (*.au3)|All (*.*)", 1, $Last_Opened, $GUI_Workstation)
    $Last_Opened = StringTrimLeft($f_open_script, StringInStr($f_open_script, "\", $STR_NOCASESENSE, -1))
    Local $f_open_script_Script = FileRead($f_open_script)
    GUICtrlSetData($GUI_Workstation_WorkArea, $f_open_script_Script)
EndFunc
Func GUI_File_Save()
    Local $f_save_script = FileSaveDialog("Save AutoIt Script", @ScriptDir, "au3 (*.au3)|All (*.*)", 0, $Last_Opened, $GUI_Workstation)
    $Last_Opened = StringTrimLeft($f_save_script, StringInStr($f_save_script, "\", $STR_NOCASESENSE, -1))
    Local $f_script = GUICtrlRead($GUI_Workstation_WorkArea)
    If FileExists($f_save_script) Then FileDelete($f_save_script)
    _FileCreate($f_save_script)
    Local $f_save_script_Open = FileOpen($f_save_script, $FO_APPEND)
    FileWrite($f_save_script_Open, $f_script)
    FileClose($f_save_script_Open)
EndFunc
Func GUI_Run_x86()
    Local $f_script = GUICtrlRead($GUI_Workstation_WorkArea)
    If FileExists($FILE_TEMP_EXE) Then FileDelete($FILE_TEMP_EXE)
    If FileExists($FILE_TEMP) Then FileDelete($FILE_TEMP)
    _FileCreate($FILE_TEMP)
    Local $FILE_TEMP_Open = FileOpen($FILE_TEMP, $FO_APPEND)
    FileWrite($FILE_TEMP_Open, $f_script)
    FileClose($FILE_TEMP_Open)
    RunWait($DIR_TEMP & '/Aut2exe.exe /in "' & $FILE_TEMP & '" /out "' & $FILE_TEMP_EXE & '" /icon "' & $FILE_icon & '" /comp 0 /nopack /x86')
    FileDelete($FILE_TEMP)
    Run($FILE_TEMP_EXE)
EndFunc
Func GUI_Run_x64()
    Local $f_script = GUICtrlRead($GUI_Workstation_WorkArea)
    If FileExists($FILE_TEMP_EXE) Then FileDelete($FILE_TEMP_EXE)
    If FileExists($FILE_TEMP) Then FileDelete($FILE_TEMP)
    _FileCreate($FILE_TEMP)
    Local $FILE_TEMP_Open = FileOpen($FILE_TEMP, $FO_APPEND)
    FileWrite($FILE_TEMP_Open, $f_script)
    FileClose($FILE_TEMP_Open)
    RunWait($DIR_TEMP & '/Aut2exe.exe /in "' & $FILE_TEMP & '" /out "' & $FILE_TEMP_EXE & '" /icon "' & $FILE_icon & '" /comp 0 /nopack /x64')
    FileDelete($FILE_TEMP)
    Run($FILE_TEMP_EXE)
EndFunc
Func GUI_About()
    MsgBox(0, "About AIP", "AutoIt Portable was made by zelles to help people who need AutoIt on the fly." & @CRLF & "Currently running version: 0.0.1")
EndFunc
Func Close_Workstation()
    GUIDelete($GUI_Workstation)
    If FileExists($DIR_TEMP) Then DirRemove($DIR_TEMP, 1)
    Exit
EndFunc
#EndRegion End Workstation GUI Events


#Region Begin Compiler GUI Events
Func Compiler($f_data)
    ; Unintergrated commands: /ansi /unicode /originalfilename "" /internalname ""
    If Not FileExists($DIR_complier_output) Then DirCreate($DIR_complier_output)
    Local $f_script = GUICtrlRead($GUI_Workstation_WorkArea)
    If FileExists($FILE_TEMP) Then FileDelete($FILE_TEMP)
    _FileCreate($FILE_TEMP)
    Local $FILE_TEMP_Open = FileOpen($FILE_TEMP, $FO_APPEND)
    FileWrite($FILE_TEMP_Open, $f_script)
    FileClose($FILE_TEMP_Open)
    Local $Compiler_Script_x86 = $DIR_TEMP & '/Aut2exe.exe'
    Local $Compiler_Script_x64 = $DIR_TEMP & '/Aut2exe.exe'
    $Compiler_Script_x86 &= ' /in "' & $FILE_TEMP & '"'
    $Compiler_Script_x64 &= ' /in "' & $FILE_TEMP & '"'
    Local $f_OutputFile = GUICtrlRead($GUI_Compiler_OutputFile)
    $Compiler_Script_x86 &= ' /out "' & $DIR_complier_output & '\' & $f_OutputFile & ' x86.exe"'
    $Compiler_Script_x64 &= ' /out "' & $DIR_complier_output & '\' & $f_OutputFile & ' x64.exe"'
    Switch GUICtrlRead($GUI_Compiler_IconFile)
        Case ""
            $Compiler_Script_x86 &= ' /icon "' & $FILE_icon & '"'
            $Compiler_Script_x64 &= ' /icon "' & $FILE_icon & '"'
        Case Else
            If FileExists(GUICtrlRead($GUI_Compiler_IconFile)) Then
                $Compiler_Script_x86 &= ' /icon "' & GUICtrlRead($GUI_Compiler_IconFile) & '"'
                $Compiler_Script_x64 &= ' /icon "' & GUICtrlRead($GUI_Compiler_IconFile) & '"'
            Else
                $Compiler_Script_x86 &= ' /icon "' & $FILE_icon & '"'
                $Compiler_Script_x64 &= ' /icon "' & $FILE_icon & '"'
            EndIf
    EndSwitch
    $Compiler_Script_x86 &= ' /x86'
    $Compiler_Script_x64 &= ' /x64'
    Switch GUICtrlRead($GUI_Compiler_Compression)
        Case "None"
            $Compiler_Script_x86 &= ' /comp 0'
            $Compiler_Script_x64 &= ' /comp 0'
        Case "Low"
            $Compiler_Script_x86 &= ' /comp 1'
            $Compiler_Script_x64 &= ' /comp 1'
        Case "Medium"
            $Compiler_Script_x86 &= ' /comp 2'
            $Compiler_Script_x64 &= ' /comp 2'
        Case "High"
            $Compiler_Script_x86 &= ' /comp 3'
            $Compiler_Script_x64 &= ' /comp 3'
        Case "Highest"
            $Compiler_Script_x86 &= ' /comp 4'
            $Compiler_Script_x64 &= ' /comp 4'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_IgnoreDirectives)
        Case $GUI_CHECKED
            $Compiler_Script_x86 &= ' /ignoredirectives'
            $Compiler_Script_x64 &= ' /ignoredirectives'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_UPXCompression)
        Case "Dont Compress"
            $Compiler_Script_x86 &= ' /nopack'
            $Compiler_Script_x64 &= ' /nopack'
        Case "Compress"
            $Compiler_Script_x86 &= ' /pack'
            $Compiler_Script_x64 &= ' /pack'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_AppType)
        Case "GUI"
            $Compiler_Script_x86 &= ' /gui'
            $Compiler_Script_x64 &= ' /gui'
        Case "Console"
            $Compiler_Script_x86 &= ' /console'
            $Compiler_Script_x64 &= ' /console'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_ExecutionLevel)
        Case "None"
            $Compiler_Script_x86 &= ' /execlevel none'
            $Compiler_Script_x64 &= ' /execlevel none'
        Case "AsInvoker"
            $Compiler_Script_x86 &= ' /execlevel asinvoker'
            $Compiler_Script_x64 &= ' /execlevel asinvoker'
        Case "Highest Avail"
            $Compiler_Script_x86 &= ' /execlevel highestavailable'
            $Compiler_Script_x64 &= ' /execlevel highestavailable'
        Case "Require Admin"
            $Compiler_Script_x86 &= ' /execlevel requireadministrator'
            $Compiler_Script_x64 &= ' /execlevel requireadministrator'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Compatibility)
        Case "Windows Vista"
            $Compiler_Script_x86 &= ' /compatibility vista'
            $Compiler_Script_x64 &= ' /compatibility vista'
        Case "Windows 7"
            $Compiler_Script_x86 &= ' /compatibility win7'
            $Compiler_Script_x64 &= ' /compatibility win7'
        Case "Windows 8"
            $Compiler_Script_x86 &= ' /compatibility win8'
            $Compiler_Script_x64 &= ' /compatibility win8'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Comment)
        Case ""
            $Compiler_Script_x86 &= ' /comments "Compiled with AutoIt Portable by zelles."'
            $Compiler_Script_x64 &= ' /comments "Compiled with AutoIt Portable by zelles."'
        Case Else
            $Compiler_Script_x86 &= ' /comments "' & GUICtrlRead($GUI_Compiler_Comment) & '"'
            $Compiler_Script_x64 &= ' /comments "' & GUICtrlRead($GUI_Compiler_Comment) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_CompanyName)
        Case ""
            $Compiler_Script_x86 &= ' /companyname "None"'
            $Compiler_Script_x64 &= ' /companyname "None"'
        Case Else
            $Compiler_Script_x86 &= ' /companyname "' & GUICtrlRead($GUI_Compiler_CompanyName) & '"'
            $Compiler_Script_x64 &= ' /companyname "' & GUICtrlRead($GUI_Compiler_CompanyName) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Description)
        Case ""
            $Compiler_Script_x86 &= ' /filedescription "None"'
            $Compiler_Script_x64 &= ' /filedescription "None"'
        Case Else
            $Compiler_Script_x86 &= ' /filedescription "' & GUICtrlRead($GUI_Compiler_Description) & '"'
            $Compiler_Script_x64 &= ' /filedescription "' & GUICtrlRead($GUI_Compiler_Description) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Copyright)
        Case ""
            $Compiler_Script_x86 &= ' /legalcopyright ' & @YEAR
            $Compiler_Script_x64 &= ' /legalcopyright ' & @YEAR
        Case Else
            $Compiler_Script_x86 &= ' /legalcopyright "' & GUICtrlRead($GUI_Compiler_Copyright) & '"'
            $Compiler_Script_x64 &= ' /legalcopyright "' & GUICtrlRead($GUI_Compiler_Copyright) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Trademarks)
        Case ""
            $nothing = 0
        Case Else
            $Compiler_Script_x86 &= ' /legaltrademarks "' & GUICtrlRead($GUI_Compiler_Trademarks) & '"'
            $Compiler_Script_x64 &= ' /legaltrademarks "' & GUICtrlRead($GUI_Compiler_Trademarks) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_ProductName)
        Case ""
            $nothing = 0
        Case Else
            $Compiler_Script_x86 &= ' /productname "' & GUICtrlRead($GUI_Compiler_ProductName) & '"'
            $Compiler_Script_x64 &= ' /productname "' & GUICtrlRead($GUI_Compiler_ProductName) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_FileVersion)
        Case ""
            $Compiler_Script_x86 &= ' /fileversion "0.0.0.1"'
            $Compiler_Script_x64 &= ' /fileversion "0.0.0.1"'
        Case Else
            $Compiler_Script_x86 &= ' /fileversion "' & GUICtrlRead($GUI_Compiler_FileVersion) & '"'
            $Compiler_Script_x64 &= ' /fileversion "' & GUICtrlRead($GUI_Compiler_FileVersion) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_ProductVersion)
        Case ""
            $Compiler_Script_x86 &= ' /productversion "3.3.12.0"'
            $Compiler_Script_x64 &= ' /productversion "3.3.12.0"'
        Case Else
            $Compiler_Script_x86 &= ' /productversion "' & GUICtrlRead($GUI_Compiler_ProductVersion) & '"'
            $Compiler_Script_x64 &= ' /productversion "' & GUICtrlRead($GUI_Compiler_ProductVersion) & '"'
    EndSwitch

    If GUICtrlRead($GUI_Compiler_x86) = $GUI_CHECKED Then
        RunWait($Compiler_Script_x86)
        ;RunWait($DIR_TEMP & '/Aut2exe.exe /in "' & $FILE_TEMP & '" /out "' & $DIR_complier_output & '\' & $f_OutputFile & ' x86.exe" /icon "' & $FILE_icon & '"' & $f_Compression & $f_UPXCompression & ' /x86')
        ;RunWait($DIR_TEMP & '/Aut2exe.exe /in "' & $FILE_TEMP & '" /out "' & $DIR_complier_output & '\' & $f_OutputFile & ' x86.exe"' & $f_IconFile & $f_Compression & $f_IgnoreDirectives & $f_UPXCompression & ' /x86'`& $f_AppType & $f_ExecutionLevel & $f_Compatibility & $f_Comment & $f_CompanyName & $f_Description & $f_Copyright & $f_Trademarks & $f_ProductName & $f_FileVersion & $f_ProductVersion)
    EndIf
    If GUICtrlRead($GUI_Compiler_x64) = $GUI_CHECKED Then
        RunWait($Compiler_Script_x64)
        ;RunWait($DIR_TEMP & '/Aut2exe.exe /in "' & $FILE_TEMP & '" /out "' & $DIR_complier_output & '\' & $f_OutputFile & ' x64.exe"' & $f_IconFile & $f_Compression & $f_IgnoreDirectives & $f_UPXCompression & ' /x64'`& $f_AppType & $f_ExecutionLevel & $f_Compatibility & $f_Comment & $f_CompanyName & $f_Description & $f_Copyright & $f_Trademarks & $f_ProductName & $f_FileVersion & $f_ProductVersion)
    EndIf
    FileDelete($FILE_TEMP)
    GUIDelete($GUI_Compiler)
    MsgBox(0, "AIP Response", "The compiler is finished. Check script directory for files.")
EndFunc
Func Close_Compiler()
    GUIDelete($GUI_Compiler)
EndFunc
#EndRegion End Compiler GUI Events


#Region Begin Temp Appdata Setup
Func Create_Temp_Workstation()
    If Not FileExists($DIR_TEMP) Then DirCreate($DIR_TEMP)
    If Not FileExists($DIR_includes) Then DirCreate($DIR_includes)
    FileInstall("C:\AIP\Icon.ico", $DIR_TEMP & "\Icon.ico", 0)
    FileInstall("C:\AIP\Aut2exe.exe", $DIR_TEMP & "\Aut2exe.exe", 0)
    FileInstall("C:\AIP\upx.exe", $DIR_TEMP & "\upx.exe", 0)
    FileInstall("C:\AIP\includes\APIComConstants.au3", $DIR_includes & "\APIComConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIConstants.au3", $DIR_includes & "\APIConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIDiagConstants.au3", $DIR_includes & "\APIDiagConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIDlgConstants.au3", $DIR_includes & "\APIDlgConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIErrorsConstants.au3", $DIR_includes & "\APIErrorsConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIFilesConstants.au3", $DIR_includes & "\APIFilesConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIGdiConstants.au3", $DIR_includes & "\APIGdiConstants.au3", 0)
    FileInstall("C:\AIP\includes\APILocaleConstants.au3", $DIR_includes & "\APILocaleConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIMiscConstants.au3", $DIR_includes & "\APIMiscConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIProcConstants.au3", $DIR_includes & "\APIProcConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIRegConstants.au3", $DIR_includes & "\APIRegConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIResConstants.au3", $DIR_includes & "\APIResConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIShellExConstants.au3", $DIR_includes & "\APIShellExConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIShPathConstants.au3", $DIR_includes & "\APIShPathConstants.au3", 0)
    FileInstall("C:\AIP\includes\APISysConstants.au3", $DIR_includes & "\APISysConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIThemeConstants.au3", $DIR_includes & "\APIThemeConstants.au3", 0)
    FileInstall("C:\AIP\includes\Array.au3", $DIR_includes & "\Array.au3", 0)
    FileInstall("C:\AIP\includes\AutoItConstants.au3", $DIR_includes & "\AutoItConstants.au3", 0)
    FileInstall("C:\AIP\includes\AVIConstants.au3", $DIR_includes & "\AVIConstants.au3", 0)
    FileInstall("C:\AIP\includes\BorderConstants.au3", $DIR_includes & "\BorderConstants.au3", 0)
    FileInstall("C:\AIP\includes\ButtonConstants.au3", $DIR_includes & "\ButtonConstants.au3", 0)
    FileInstall("C:\AIP\includes\Clipboard.au3", $DIR_includes & "\Clipboard.au3", 0)
    FileInstall("C:\AIP\includes\Color.au3", $DIR_includes & "\Color.au3", 0)
    FileInstall("C:\AIP\includes\ColorConstants.au3", $DIR_includes & "\ColorConstants.au3", 0)
    FileInstall("C:\AIP\includes\ComboConstants.au3", $DIR_includes & "\ComboConstants.au3", 0)
    FileInstall("C:\AIP\includes\Constants.au3", $DIR_includes & "\Constants.au3", 0)
    FileInstall("C:\AIP\includes\Crypt.au3", $DIR_includes & "\Crypt.au3", 0)
    FileInstall("C:\AIP\includes\Date.au3", $DIR_includes & "\Date.au3", 0)
    FileInstall("C:\AIP\includes\DateTimeConstants.au3", $DIR_includes & "\DateTimeConstants.au3", 0)
    FileInstall("C:\AIP\includes\Debug.au3", $DIR_includes & "\Debug.au3", 0)
    FileInstall("C:\AIP\includes\DirConstants.au3", $DIR_includes & "\DirConstants.au3", 0)
    FileInstall("C:\AIP\includes\EditConstants.au3", $DIR_includes & "\EditConstants.au3", 0)
    FileInstall("C:\AIP\includes\EventLog.au3", $DIR_includes & "\EventLog.au3", 0)
    FileInstall("C:\AIP\includes\Excel.au3", $DIR_includes & "\Excel.au3", 0)
    FileInstall("C:\AIP\includes\ExcelConstants.au3", $DIR_includes & "\ExcelConstants.au3", 0)
    FileInstall("C:\AIP\includes\File.au3", $DIR_includes & "\File.au3", 0)
    FileInstall("C:\AIP\includes\FileConstants.au3", $DIR_includes & "\FileConstants.au3", 0)
    FileInstall("C:\AIP\includes\FontConstants.au3", $DIR_includes & "\FontConstants.au3", 0)
    FileInstall("C:\AIP\includes\FrameConstants.au3", $DIR_includes & "\FrameConstants.au3", 0)
    FileInstall("C:\AIP\includes\FTPEx.au3", $DIR_includes & "\FTPEx.au3", 0)
    FileInstall("C:\AIP\includes\GDIPlus.au3", $DIR_includes & "\GDIPlus.au3", 0)
    FileInstall("C:\AIP\includes\GDIPlusConstants.au3", $DIR_includes & "\GDIPlusConstants.au3", 0)
    FileInstall("C:\AIP\includes\GuiAVI.au3", $DIR_includes & "\GuiAVI.au3", 0)
    FileInstall("C:\AIP\includes\GuiButton.au3", $DIR_includes & "\GuiButton.au3", 0)
    FileInstall("C:\AIP\includes\GuiComboBox.au3", $DIR_includes & "\GuiComboBox.au3", 0)
    FileInstall("C:\AIP\includes\GuiComboBoxEx.au3", $DIR_includes & "\GuiComboBoxEx.au3", 0)
    FileInstall("C:\AIP\includes\GUIConstants.au3", $DIR_includes & "\GUIConstants.au3", 0)
    FileInstall("C:\AIP\includes\GUIConstantsEx.au3", $DIR_includes & "\GUIConstantsEx.au3", 0)
    FileInstall("C:\AIP\includes\GuiDateTimePicker.au3", $DIR_includes & "\GuiDateTimePicker.au3", 0)
    FileInstall("C:\AIP\includes\GuiEdit.au3", $DIR_includes & "\GuiEdit.au3", 0)
    FileInstall("C:\AIP\includes\GuiHeader.au3", $DIR_includes & "\GuiHeader.au3", 0)
    FileInstall("C:\AIP\includes\GuiImageList.au3", $DIR_includes & "\GuiImageList.au3", 0)
    FileInstall("C:\AIP\includes\GuiIPAddress.au3", $DIR_includes & "\GuiIPAddress.au3", 0)
    FileInstall("C:\AIP\includes\GuiListBox.au3", $DIR_includes & "\GuiListBox.au3", 0)
    FileInstall("C:\AIP\includes\GuiListView.au3", $DIR_includes & "\GuiListView.au3", 0)
    FileInstall("C:\AIP\includes\GuiMenu.au3", $DIR_includes & "\GuiMenu.au3", 0)
    FileInstall("C:\AIP\includes\GuiMonthCal.au3", $DIR_includes & "\GuiMonthCal.au3", 0)
    FileInstall("C:\AIP\includes\GuiReBar.au3", $DIR_includes & "\GuiReBar.au3", 0)
    FileInstall("C:\AIP\includes\GuiRichEdit.au3", $DIR_includes & "\GuiRichEdit.au3", 0)
    FileInstall("C:\AIP\includes\GuiScrollBars.au3", $DIR_includes & "\GuiScrollBars.au3", 0)
    FileInstall("C:\AIP\includes\GuiSlider.au3", $DIR_includes & "\GuiSlider.au3", 0)
    FileInstall("C:\AIP\includes\GuiStatusBar.au3", $DIR_includes & "\GuiStatusBar.au3", 0)
    FileInstall("C:\AIP\includes\GuiTab.au3", $DIR_includes & "\GuiTab.au3", 0)
    FileInstall("C:\AIP\includes\GuiToolbar.au3", $DIR_includes & "\GuiToolbar.au3", 0)
    FileInstall("C:\AIP\includes\GuiToolTip.au3", $DIR_includes & "\GuiToolTip.au3", 0)
    FileInstall("C:\AIP\includes\GuiTreeView.au3", $DIR_includes & "\GuiTreeView.au3", 0)
    FileInstall("C:\AIP\includes\HeaderConstants.au3", $DIR_includes & "\HeaderConstants.au3", 0)
    FileInstall("C:\AIP\includes\IE.au3", $DIR_includes & "\IE.au3", 0)
    FileInstall("C:\AIP\includes\ImageListConstants.au3", $DIR_includes & "\ImageListConstants.au3", 0)
    FileInstall("C:\AIP\includes\Inet.au3", $DIR_includes & "\Inet.au3", 0)
    FileInstall("C:\AIP\includes\InetConstants.au3", $DIR_includes & "\InetConstants.au3", 0)
    FileInstall("C:\AIP\includes\IPAddressConstants.au3", $DIR_includes & "\IPAddressConstants.au3", 0)
    FileInstall("C:\AIP\includes\ListBoxConstants.au3", $DIR_includes & "\ListBoxConstants.au3", 0)
    FileInstall("C:\AIP\includes\ListViewConstants.au3", $DIR_includes & "\ListViewConstants.au3", 0)
    FileInstall("C:\AIP\includes\Math.au3", $DIR_includes & "\Math.au3", 0)
    FileInstall("C:\AIP\includes\Memory.au3", $DIR_includes & "\Memory.au3", 0)
    FileInstall("C:\AIP\includes\MemoryConstants.au3", $DIR_includes & "\MemoryConstants.au3", 0)
    FileInstall("C:\AIP\includes\MenuConstants.au3", $DIR_includes & "\MenuConstants.au3", 0)
    FileInstall("C:\AIP\includes\Misc.au3", $DIR_includes & "\Misc.au3", 0)
    FileInstall("C:\AIP\includes\MsgBoxConstants.au3", $DIR_includes & "\MsgBoxConstants.au3", 0)
    FileInstall("C:\AIP\includes\NamedPipes.au3", $DIR_includes & "\NamedPipes.au3", 0)
    FileInstall("C:\AIP\includes\NetShare.au3", $DIR_includes & "\NetShare.au3", 0)
    FileInstall("C:\AIP\includes\NTSTATUSConstants.au3", $DIR_includes & "\NTSTATUSConstants.au3", 0)
    FileInstall("C:\AIP\includes\Process.au3", $DIR_includes & "\Process.au3", 0)
    FileInstall("C:\AIP\includes\ProcessConstants.au3", $DIR_includes & "\ProcessConstants.au3", 0)
    FileInstall("C:\AIP\includes\ProgressConstants.au3", $DIR_includes & "\ProgressConstants.au3", 0)
    FileInstall("C:\AIP\includes\RebarConstants.au3", $DIR_includes & "\RebarConstants.au3", 0)
    FileInstall("C:\AIP\includes\RichEditConstants.au3", $DIR_includes & "\RichEditConstants.au3", 0)
    FileInstall("C:\AIP\includes\ScreenCapture.au3", $DIR_includes & "\ScreenCapture.au3", 0)
    FileInstall("C:\AIP\includes\ScrollBarConstants.au3", $DIR_includes & "\ScrollBarConstants.au3", 0)
    FileInstall("C:\AIP\includes\ScrollBarsConstants.au3", $DIR_includes & "\ScrollBarsConstants.au3", 0)
    FileInstall("C:\AIP\includes\Security.au3", $DIR_includes & "\Security.au3", 0)
    FileInstall("C:\AIP\includes\SecurityConstants.au3", $DIR_includes & "\SecurityConstants.au3", 0)
    FileInstall("C:\AIP\includes\SendMessage.au3", $DIR_includes & "\SendMessage.au3", 0)
    FileInstall("C:\AIP\includes\SliderConstants.au3", $DIR_includes & "\SendMessage.au3", 0)
    FileInstall("C:\AIP\includes\Sound.au3", $DIR_includes & "\Sound.au3", 0)
    FileInstall("C:\AIP\includes\SQLite.au3", $DIR_includes & "\SQLite.au3", 0)
    FileInstall("C:\AIP\includes\SQLite.dll.au3", $DIR_includes & "\SQLite.dll.au3", 0)
    FileInstall("C:\AIP\includes\StaticConstants.au3", $DIR_includes & "\StaticConstants.au3", 0)
    FileInstall("C:\AIP\includes\StatusBarConstants.au3", $DIR_includes & "\StatusBarConstants.au3", 0)
    FileInstall("C:\AIP\includes\String.au3", $DIR_includes & "\String.au3", 0)
    FileInstall("C:\AIP\includes\StringConstants.au3", $DIR_includes & "\StringConstants.au3", 0)
    FileInstall("C:\AIP\includes\StructureConstants.au3", $DIR_includes & "\StructureConstants.au3", 0)
    FileInstall("C:\AIP\includes\TabConstants.au3", $DIR_includes & "\TabConstants.au3", 0)
    FileInstall("C:\AIP\includes\Timers.au3", $DIR_includes & "\Timers.au3", 0)
    FileInstall("C:\AIP\includes\ToolbarConstants.au3", $DIR_includes & "\ToolbarConstants.au3", 0)
    FileInstall("C:\AIP\includes\ToolTipConstants.au3", $DIR_includes & "\ToolTipConstants.au3", 0)
    FileInstall("C:\AIP\includes\TrayConstants.au3", $DIR_includes & "\TrayConstants.au3", 0)
    FileInstall("C:\AIP\includes\TreeViewConstants.au3", $DIR_includes & "\TreeViewConstants.au3", 0)
    FileInstall("C:\AIP\includes\UDFGlobalID.au3", $DIR_includes & "\UDFGlobalID.au3", 0)
    FileInstall("C:\AIP\includes\UpDownConstants.au3", $DIR_includes & "\UpDownConstants.au3", 0)
    FileInstall("C:\AIP\includes\Visa.au3", $DIR_includes & "\Visa.au3", 0)
    FileInstall("C:\AIP\includes\WinAPI.au3", $DIR_includes & "\WinAPI.au3", 0)
    FileInstall("C:\AIP\includes\WinAPICom.au3", $DIR_includes & "\WinAPICom.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIConstants.au3", $DIR_includes & "\WinAPIConstants.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIDiag.au3", $DIR_includes & "\WinAPIDiag.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIDlg.au3", $DIR_includes & "\WinAPIDlg.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIError.au3", $DIR_includes & "\WinAPIError.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIEx.au3", $DIR_includes & "\WinAPIEx.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIFiles.au3", $DIR_includes & "\WinAPIFiles.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIGdi.au3", $DIR_includes & "\WinAPIGdi.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIInternals.au3", $DIR_includes & "\WinAPIInternals.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIlangConstants.au3", $DIR_includes & "\WinAPIlangConstants.au3", 0)
    FileInstall("C:\AIP\includes\WinAPILocale.au3", $DIR_includes & "\WinAPILocale.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIMisc.au3", $DIR_includes & "\WinAPIMisc.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIProc.au3", $DIR_includes & "\WinAPIProc.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIReg.au3", $DIR_includes & "\WinAPIReg.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIRes.au3", $DIR_includes & "\WinAPIRes.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIShellEx.au3", $DIR_includes & "\WinAPIShellEx.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIShPath.au3", $DIR_includes & "\WinAPIShPath.au3", 0)
    FileInstall("C:\AIP\includes\WinAPISys.au3", $DIR_includes & "\WinAPISys.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIsysinfoConstants.au3", $DIR_includes & "\WinAPIsysinfoConstants.au3", 0)
    FileInstall("C:\AIP\includes\WinAPITheme.au3", $DIR_includes & "\WinAPITheme.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIvkeysConstants.au3", $DIR_includes & "\WinAPIvkeysConstants.au3", 0)
    FileInstall("C:\AIP\includes\WindowsConstants.au3", $DIR_includes & "\WindowsConstants.au3", 0)
    FileInstall("C:\AIP\includes\WinNet.au3", $DIR_includes & "\WinNet.au3", 0)
    FileInstall("C:\AIP\includes\Word.au3", $DIR_includes & "\Word.au3", 0)
    FileInstall("C:\AIP\includes\WordConstants.au3", $DIR_includes & "\WordConstants.au3", 0)
EndFunc
#EndRegion End Temp Appdata Setup

Source Files:

AutoIt Portable v 0.0.2 source.zip

Windows Executable:

AutoIt Portable v 0.0.2.zip

Older Versions:

Feedback is appreciated!

Edited by zelles
Donation link removed
Link to post
Share on other sites
  • Moderators

zelles,

I have removed the donation link - we not allow such things in posts or signatures. ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to post
Share on other sites
  • Developers

Just wondering without having to go through your whole script: What does this give me extra that doesn't work out-of-the-box?

Is it to make creating easy on-the-fly scripts?

Jos :)

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to post
Share on other sites

Just wondering without having to go through your whole script: What does this give me extra that doesn't work out-of-the-box?

Is it to make creating easy on-the-fly scripts?

Jos :)

 

Nothing extra really. But say you go to somewhere and are using a computer that doesn't have AutoIt installed, this standalone executable can compile your scripts to exe with out leaving any files behind.

Edited by zelles
Link to post
Share on other sites
  • Developers

Nothing extra really. But say you go to somewhere and are using a computer that doesn't have AutoIt installed, this standalone executable can compile your scripts to exe with out leaving any files behind.

That should already work fine when you take the autoit-v3.zip and the scite4autoit3.zip files and dump them on a USB thumbdrive without the need to copy anything to the PC first.

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to post
Share on other sites

That should already work fine when you take the autoit-v3.zip and the scite4autoit3.zip files and dump them on a USB thumbdrive without the need to copy anything to the PC first.

Jos

 

As I said...With this you dont NOT need autoit-v3.zip or scite4autoit3.zip... This is a single exe that does everything, including cleaning the temporary aplication data when complete. In other words you dont have to carry multiple zips full of unused/unneeded files just to use AutoIt real quick on the fly.

Also it doesn't flood the registry like autoit-v3.zip and scite4autoit3.zip do... This is a simpler/cleaner approach.

Edited by zelles
Link to post
Share on other sites
  • Developers

Also it doesn't flood the registry like autoit-v3.zip and scite4autoit3.zip do... This is a simpler/cleaner approach.

They don't do anything with the registry. Only the installers do,

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to post
Share on other sites
  • Developers

They do write information to the registry when run... That includes the zipped version of AutoIt and Scite..

 

Run what? the ZIP file?

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to post
Share on other sites

Version 0.0.3 Released:

Now has code suggestions as you type. They include all the AutoIt Functions, Marcos, Opt's, basic code, and all the includes files.

Version 0.0.3 Preview:

preview_v_0_0_3.jpg

Version 0.0.3 Source Code:

#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=..\AIP\Icon.ico
#AutoIt3Wrapper_Res_Description=Compile your AutoIt scripts on the fly!
#AutoIt3Wrapper_Res_Fileversion=0.0.3
#AutoIt3Wrapper_Res_LegalCopyright=Copyright 2014 zelles
#AutoIt3Wrapper_Res_Language=1033
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

_Singleton("AutoItPortableByzelles")
Opt("GUIOnEventMode", 1)
Opt("TrayMenuMode", 3)

Global $DIR_complier_output = @ScriptDir & "\compiled"
Global $DIR_TEMP = @ScriptDir & "\temp_appdata"
Global $DIR_includes = $DIR_TEMP & "\includes"
Global $FILE_icon = $DIR_TEMP & "\Icon.ico"
Global $FILE_TEMP = $DIR_includes & "\aip_temp.au3"
Global $FILE_TEMP_EXE = $DIR_TEMP & "\aip_temp.exe"
Global $IMG_Splash = $DIR_TEMP & "\splash.gif"
Global $Last_Opened = "AIPScript.au3"

Global $AUTOIT_CODES = ''
$AUTOIT_CODES &= 'Local||Global||If||Then||ElseIf||Else||EndIf||Case||Switch||EndSwitch||Select||EndSelect||While||WEnd||With||EndWith||Do||Until||For||Next||In||To||Or||And||True||False||Return||Exit||ExitLoop||Dim||ReDim||Const||ContinueCase||ContinueLoop||Not||Null||ByRef||Default||Func||EndFunc||Enum||Static||Step||Volatile'
$AUTOIT_CODES &= '||Opt("CaretCoordMode",1)||Opt("ExpandEnvStrings",0)||Opt("ExpandVarStrings",0)||Opt("GUICloseOnESC",1)||Opt("GUICoordMode",1)||Opt("GUIDataSeparatorChar","|")||Opt("GUIOnEventMode",0)||Opt("GUIResizeMode",0)||Opt("GUIEventOptions",0)||Opt("MouseClickDelay",10)||Opt("MouseClickDownDelay",10)||Opt("MouseClickDragDelay",250)||Opt("MouseCoordMode",1)||Opt("MustDeclareVars",0)||Opt("PixelCoordMode",1)||Opt("SendAttachMode",0)||Opt("SendCapslockMode",1)||Opt("SendKeyDelay",5)||Opt("SendKeyDownDelay",1)||Opt("TCPTimeout",100)||Opt("TrayAutoPause",1)||Opt("TrayIconDebug",0)||Opt("TrayIconHide",0)||Opt("TrayMenuMode",0)||Opt("TrayOnEventMode",0)||Opt("WinDetectHiddenText",0)||Opt("WinSearchChildren",1)||Opt("WinTextMatchMode",1)||Opt("WinTitleMatchMode",1)||Opt("WinWaitDelay",250)'
$AUTOIT_CODES &= '||@AppDataCommonDir||@AppDataDir||@AutoItExe||@AutoItPID||@AutoItVersion||@AutoItX64||@COM_EventObj||@CommonFilesDir||@Compiled||@ComputerName||@ComSpec||@CPUArch||@CR||@CRLF||@CR||@LF||@DesktopCommonDir||@DesktopDepth||@DesktopDir||@DesktopHeight||@DesktopRefresh||@DesktopWidth||@DocumentsCommonDir||@error||@exitCode||@exitMethod||@extended||@FavoritesCommonDir||@FavoritesDir||@GUI_CtrlHandle||@GUI_CtrlId||@GUI_DragFile||@GUI_DragId||@GUI_DropId||@GUI_WinHandle||@HomeDrive||@HomePath||@HomeShare||@HotKeyPressed||@HOUR||@IPAddress1||@IPAddress2||@IPAddress3||@IPAddress4||@KBLayout||@LF||@LocalAppDataDir||@LogonDNSDomain||@LogonDomain||@LogonServer||@MDAY||@MIN||@MON||@MSEC||@MUILang||@MyDocumentsDir||@NumParams||@OSArch||@OSBuild||@OSLang||@OSServicePack||@OSType||@OSVersion||@ProgramFilesDir||@ProgramsCommonDir||@ProgramsDir||@ScriptDir||@ScriptFullPath||@ScriptLineNumber||@ScriptName||@SEC||@StartMenuCommonDir||@StartMenuDir||@StartupCommonDir||@StartupDir||@SW_DISABLE||@SW_ENABLE||@SW_HIDE||@SW_LOCK||@SW_MAXIMIZE||@SW_MINIMIZE||@SW_RESTORE||@SW_SHOW||@SW_SHOWDEFAULT||@SW_SHOWMAXIMIZED||@SW_SHOWMINIMIZED||@SW_SHOWMINNOACTIVE||@SW_SHOWNA||@SW_SHOWNOACTIVATE||@SW_SHOWNORMAL||@SW_UNLOCK||@SystemDir||@TAB||@TempDir||@TRAY_ID||@TrayIconFlashing||@TrayIconVisible||@UserName||@UserProfileDir||@WDAY||@WindowsDir||@WorkingDir||@YDAY||@YEAR'
$AUTOIT_CODES &= '||#cs||#ce||#include||#include-once||#NoTrayIcon||#RequireAdmin||#OnAutoItStartRegister||#Region||#EndRegion||#pragma compile'
$AUTOIT_CODES &= '||#include <APIComConstants.au3>||#include <APIConstants.au3>||#include <APIDiagConstants.au3>||#include <APIDlgConstants.au3>||#include <APIErrorsConstants.au3>||#include <APIFilesConstants.au3>||#include <APIGdiConstants.au3>||#include <APILocaleConstants.au3>||#include <APIMiscConstants.au3>||#include <APIProcConstants.au3>||#include <APIRegConstants.au3>||#include <APIResConstants.au3>||#include <APIShellExConstants.au3>||#include <APIShPathConstants.au3>||#include <APISysConstants.au3>||#include <APIThemeConstants.au3>||#include <Array.au3>||#include <AutoItConstants.au3>||#include <AVIConstants.au3>||#include <BorderConstants.au3>||#include <ButtonConstants.au3>||#include <Clipboard.au3>||#include <Color.au3>||#include <ColorConstants.au3>||#include <ComboConstants.au3>||#include <Constants.au3>||#include <Crypt.au3>||#include <Date.au3>||#include <DateTimeConstants.au3>||#include <Debug.au3>||#include <DirConstants.au3>||#include <EditConstants.au3>||#include <EventLog.au3>||#include <Excel.au3>||#include <ExcelConstants.au3>||#include <File.au3>||#include <FileConstants.au3>||#include <FontConstants.au3>||#include <FrameConstants.au3>||#include <FTPEx.au3>||#include <GDIPlus.au3>||#include <GDIPlusConstants.au3>||#include <GuiAVI.au3>||#include <GuiButton.au3>||#include <GuiComboBox.au3>||#include <GuiComboBoxEx.au3>'
$AUTOIT_CODES &= '||#include <GUIConstants.au3>||#include <GUIConstantsEx.au3>||#include <GuiDateTimePicker.au3>||#include <GuiEdit.au3>||#include <GuiHeader.au3>||#include <GuiImageList.au3>||#include <GuiIPAddress.au3>||#include <GuiListBox.au3>||#include <GuiListView.au3>||#include <GuiMenu.au3>||#include <GuiMonthCal.au3>||#include <GuiReBar.au3>||#include <GuiRichEdit.au3>||#include <GuiScrollBars.au3>||#include <GuiSlider.au3>||#include <GuiStatusBar.au3>||#include <GuiTab.au3>||#include <GuiToolbar.au3>||#include <GuiToolTip.au3>||#include <GuiTreeView.au3>||#include <HeaderConstants.au3>||#include <IE.au3>||#include <ImageListConstants.au3>||#include <Inet.au3>||#include <InetConstants.au3>||#include <IPAddressConstants.au3>||#include <ListBoxConstants.au3>||#include <ListViewConstants.au3>||#include <Math.au3>||#include <Memory.au3>||#include <MemoryConstants.au3>||#include <MenuConstants.au3>||#include <Misc.au3>||#include <MsgBoxConstants.au3>||#include <NamedPipes.au3>||#include <NetShare.au3>||#include <NTSTATUSConstants.au3>||#include <Process.au3>||#include <ProcessConstants.au3>||#include <ProgressConstants.au3>||#include <RebarConstants.au3>||#include <RichEditConstants.au3>||#include <ScreenCapture.au3>||#include <ScrollBarConstants.au3>||#include <ScrollBarsConstants.au3>||#include <Security.au3>||#include <SecurityConstants.au3>'
$AUTOIT_CODES &= '||#include <SendMessage.au3>||#include <SliderConstants.au3>||#include <Sound.au3>||#include <SQLite.au3>||#include <SQLite.dll.au3>||#include <StaticConstants.au3>||#include <StatusBarConstants.au3>||#include <String.au3>||#include <StringConstants.au3>||include <StructureConstants.au3>||#include <TabConstants.au3>||#include <Timers.au3>||#include <ToolbarConstants.au3>||#include <ToolTipConstants.au3>||#include <TrayConstants.au3>||#include <TreeViewConstants.au3>||#include <UDFGlobalID.au3>||#include <UpDownConstants.au3>||#include <Visa.au3>||#include <WinAPI.au3>||#include <WinAPICom.au3>||#include <WinAPIConstants.au3>||#include <WinAPIDiag.au3>||#include <WinAPIDlg.au3>||#include <WinAPIError.au3>||#include <WinAPIEx.au3>||#include <WinAPIFiles.au3>||#include <WinAPIGdi.au3>||#include <WinAPIInternals.au3>||#include <WinAPIlangConstants.au3>||#include <WinAPILocale.au3>||#include <WinAPIMisc.au3>||#include <WinAPIProc.au3>||#include <WinAPIReg.au3>||#include <WinAPIRes.au3>||#include <WinAPIShellEx.au3>||#include <WinAPIShPath.au3>||#include <WinAPISys.au3>||#include <WinAPIsysinfoConstants.au3>||#include <WinAPITheme.au3>||#include <WinAPIvkeysConstants.au3>||#include <WindowsConstants.au3>||#include <WinNet.au3>||#include <Word.au3>||#include <WordConstants.au3>'
$AUTOIT_CODES &= '||Abs||ACos||AdlibRegister||AdlibUnRegister||Asc||AscW||ASin||Assign||ATan||AutoItSetOption||AutoItWinGetTitle||AutoItWinSetTitle||Beep||Binary||BinaryLen||BinaryMid||BinaryToString||BitAND||BitNOT||BitOR||BitRotate||BitShift||BitXOR||BlockInput||Break||Call||CDTray||Ceiling||Chr||ChrW||ClipGet||ClipPut||ConsoleRead||ConsoleWrite||ConsoleWriteError||ControlClick||ControlCommand||ControlDisable||ControlEnable||ControlFocus||ControlGetFocus||ControlGetHandle||ControlGetPos||ControlGetText||ControlHide||ControlListView||ControlMove||ControlSend||ControlSetText||ControlShow||ControlTreeView||Cos||Dec||DirCopy||DirCreate||DirGetSize||DirMove||DirRemove||DllCall||DllCallAddress||DllCallbackFree||DllCallbackGetPtr||DllCallbackRegister||DllClose||DllOpen||DllStructCreate||DllStructGetData||DllStructGetPtr||DllStructGetSize||DllStructSetData||DriveGetDrive||DriveGetFileSystem||DriveGetLabel||DriveGetSerial||DriveGetType||DriveMapAdd||DriveMapDel||DriveMapGet||DriveSetLabel||DriveSpaceFree||DriveSpaceTotal||DriveStatus||EnvGet||EnvSet||EnvUpdate||Eval||Execute||Exp||FileChangeDir||FileClose||FileCopy||FileCreateNTFSLink||FileCreateShortcut||FileDelete||FileExists||FileFindFirstFile||FileFindNextFile||FileFlush||FileGetAttrib||FileGetEncoding||FileGetLongName||FileGetPos||FileGetShortcut||FileGetShortName||FileGetSize||FileGetTime'
$AUTOIT_CODES &= '||FileGetVersion||FileInstall||FileMove||FileOpen||FileOpenDialog||FileRead||FileReadLine||FileReadToArray||FileRecycle||FileRecycleEmpty||FileSaveDialog||FileSelectFolder||FileSetAttrib||FileSetPos||FileSetTime||FileWrite||FileWriteLine||Floor||FtpSetProxy||FuncName||GUICreate||GUICtrlCreateAvi||GUICtrlCreateButton||GUICtrlCreateCheckbox||GUICtrlCreateCombo||GUICtrlCreateContextMenu||GUICtrlCreateDate||GUICtrlCreateDummy||GUICtrlCreateEdit||GUICtrlCreateGraphic||GUICtrlCreateGroup||GUICtrlCreateIcon||GUICtrlCreateInput||GUICtrlCreateLabel||GUICtrlCreateList||GUICtrlCreateListView||GUICtrlCreateListViewItem||GUICtrlCreateMenu||GUICtrlCreateMenuItem||GUICtrlCreateMonthCal||GUICtrlCreateObj||GUICtrlCreatePic||GUICtrlCreateProgress||GUICtrlCreateRadio||GUICtrlCreateSlider||GUICtrlCreateTab||GUICtrlCreateTabItem||GUICtrlCreateTreeView||GUICtrlCreateTreeViewItem||GUICtrlCreateUpdown||GUICtrlDelete||GUICtrlGetHandle||GUICtrlGetState||GUICtrlRead||GUICtrlRecvMsg||GUICtrlRegisterListViewSort||GUICtrlSendMsg||GUICtrlSendToDummy||GUICtrlSetBkColor||GUICtrlSetColor||GUICtrlSetCursor||GUICtrlSetData||GUICtrlSetDefBkColor||GUICtrlSetDefColor||GUICtrlSetFont||GUICtrlSetGraphic||GUICtrlSetImage||GUICtrlSetLimit||GUICtrlSetOnEvent||GUICtrlSetPos||GUICtrlSetResizing||GUICtrlSetState||GUICtrlSetStyle||GUICtrlSetTip||GUIDelete'
$AUTOIT_CODES &= '||GUIGetCursorInfo||GUIGetMsg||GUIGetStyle||GUIRegisterMsg||GUISetAccelerators||GUISetBkColor||GUISetCoord||GUISetCursor||GUISetFont||GUISetHelp||GUISetIcon||GUISetOnEvent||GUISetState||GUISetStyle||GUIStartGroup||GUISwitch||Hex||HotKeySet||HttpSetProxy||HttpSetUserAgent||HWnd||InetClose||InetGet||InetGetInfo||InetGetSize||InetRead||IniDelete||IniRead||IniReadSection||IniReadSectionNames||IniRenameSection||IniWrite||IniWriteSection||InputBox||Int||IsAdmin||IsArray||IsBinary||IsBool||IsDeclared||IsDllStruct||IsFloat||IsFunc||IsHWnd||IsInt||IsKeyword||IsNumber||IsObj||IsPtr||IsString||Log||MemGetStats||Mod||MouseClick||MouseClickDrag||MouseDown||MouseGetCursor||MouseGetPos||MouseMove||MouseUp||MouseWheel||MsgBox||Number||ObjCreate||ObjCreateInterface||ObjEvent||ObjGet||ObjName||OnAutoItExitRegister||OnAutoItExitUnRegister||Ping||PixelChecksum||PixelGetColor||PixelSearch||ProcessClose||ProcessExists||ProcessGetStats||ProcessList||ProcessSetPriority||ProcessWait||ProcessWaitClose||ProgressOff||ProgressOn||ProgressSet||Ptr||Random||RegDelete||RegEnumKey||RegEnumVal||RegRead||RegWrite||Round||Run||RunAs||RunAsWait||RunWait||Send||SendKeepActive||SetError||SetExtended||ShellExecute||ShellExecuteWait||Shutdown||Sin||Sleep||SoundPlay||SoundSetWaveVolume||SplashImageOn||SplashOff||SplashTextOn||Sqrt||SRandom||StatusbarGetText||StderrRead'
$AUTOIT_CODES &= '||StdinWrite||StdioClose||StdoutRead||String||StringAddCR||StringCompare||StringFormat||StringFromASCIIArray||StringInStr||StringIsAlNum||StringIsAlpha||StringIsASCII||StringIsDigit||StringIsFloat||StringIsInt||StringIsLower||StringIsSpace||StringIsUpper||StringIsXDigit||StringLeft||StringLen||StringLower||StringMid||StringRegExp||StringRegExpReplace||StringReplace||StringReverse||StringRight||StringSplit||StringStripCR||StringStripWS||StringToASCIIArray||StringToBinary||StringTrimLeft||StringTrimRight||StringUpper||Tan||TCPAccept||TCPCloseSocket||TCPConnect||TCPListen||TCPNameToIP||TCPRecv||TCPSend||TCPShutdown||UDPShutdown||TCPStartup||UDPStartup||TimerDiff||TimerInit||ToolTip||TrayCreateItem||TrayCreateMenu||TrayGetMsg||TrayItemDelete||TrayItemGetHandle||TrayItemGetState||TrayItemGetText||TrayItemSetOnEvent||TrayItemSetState||TrayItemSetText||TraySetClick||TraySetIcon||TraySetOnEvent||TraySetPauseIcon||TraySetState||TraySetToolTip||TrayTip||UBound||UDPBind||UDPCloseSocket||UDPOpen||UDPRecv||UDPSend||VarGetType||WinActivate||WinActive||WinClose||WinExists||WinFlash||WinGetCaretPos||WinGetClassList||WinGetClientSize||WinGetHandle||WinGetPos||WinGetProcess||WinGetState||WinGetText||WinGetTitle||WinKill||WinList||WinMenuSelectItem||WinMinimizeAll||WinMinimizeAllUndo||WinMove||WinSetOnTop||WinSetState||WinSetTitle||WinSetTrans'
$AUTOIT_CODES &= '||WinWait||WinWaitActive||WinWaitClose||WinWaitNotActive'

GUI_Splash()
Create_Temp_Workstation()
GUIDelete($GUI_Splash)
GUI_Workstation()

While 1
    Local $w_all = GUICtrlRead($GUI_Workstation_WorkArea)
    Local $w_all_one = StringReplace($w_all, @CRLF, " ")
    Local $w_words = StringSplit($w_all_one, " ", 1)
    Local $w_last_word = StringReplace($w_words[$w_words[0]], " ", "")
    Local $w_last_word_length = StringLen($w_last_word)
    If $w_last_word == "" Then GUICtrlSetData($GUI_Workstation_Suggestions, "")
    If $w_last_word == "" Then ContinueLoop
    $AUTOIT_CODE = StringSplit($AUTOIT_CODES, "||", 1)
    $AUTOIT_SUGGESTIONS = ""
    For $aic = 1 To $AUTOIT_CODE[0]
        $w_autoit_matcher = StringMid($AUTOIT_CODE[$aic], 1, $w_last_word_length)
        If StringLower($w_last_word) == StringLower($w_autoit_matcher) Then
            $AUTOIT_SUGGESTIONS &= $AUTOIT_CODE[$aic] & @CRLF
        EndIf
    Next
    If GUICtrlRead($GUI_Workstation_Suggestions) == $AUTOIT_SUGGESTIONS Then ContinueLoop
    GUICtrlSetData($GUI_Workstation_Suggestions, $AUTOIT_SUGGESTIONS)
    Sleep(100)
WEnd

#Region Begin Splash GUI Creation
Func GUI_Splash()
    If Not FileExists($DIR_TEMP) Then DirCreate($DIR_TEMP)
    FileInstall("C:\AIP\splash.gif", $DIR_TEMP & "\splash.gif", 0)
    Global $GUI_Splash = GUICreate("Starting AutoIt Portable", 401, 257, 192, 124)
    GUISetBkColor(0xFFFFFF)
    Global $splash_image = GUICtrlCreatePic($IMG_Splash, 0, 0, 400, 250)
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "Close_Spash", $GUI_Splash)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Close_Spash", $GUI_Splash)
    GUISetState(@SW_SHOW)
EndFunc
#EndRegion End Splash GUI Creation


#Region Begin Workstation GUI Creation
Func GUI_Workstation()
    Global $GUI_Workstation = GUICreate("AutoIt Portable Workstation", 801, 431, 181, 90)
    Global $File_Menu_File = GUICtrlCreateMenu("&File")
    Global $File_Menu_New = GUICtrlCreateMenuItem("New File", $File_Menu_File)
    Global $File_Menu_Open = GUICtrlCreateMenuItem("Open File", $File_Menu_File)
    Global $File_Menu_Save = GUICtrlCreateMenuItem("Save File", $File_Menu_File)
    Global $File_Menu_Exit = GUICtrlCreateMenuItem("Exit", $File_Menu_File)
    Global $File_Menu_Options = GUICtrlCreateMenu("&Script Options")
    Global $File_Menu_Runx86 = GUICtrlCreateMenuItem("Run x86", $File_Menu_Options)
    Global $File_Menu_Runx64 = GUICtrlCreateMenuItem("Run x64", $File_Menu_Options)
    Global $File_Menu_Compiler = GUICtrlCreateMenuItem("Run Compiler", $File_Menu_Options)
    Global $File_Menu_Help = GUICtrlCreateMenu("&Help")
    Global $File_Menu_About = GUICtrlCreateMenuItem("About", $File_Menu_Help)
    GUISetFont(9, 400, 0, "Arial")
    GUISetBkColor(0xB9D1EA)
    Global $GUI_Workstation_WorkArea = GUICtrlCreateEdit(@CRLF & 'MsgBox(0, "Welcome Note", "Thank you for using AutoIt Portable!")' & @CRLF, 200, 0, 600, 409, BitOR($ES_AUTOVSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
    GUICtrlSetColor(-1, 0x000000)
    Global $GUI_Workstation_Suggestions = GUICtrlCreateEdit("", 0, 24, 201, 385, BitOR($ES_AUTOVSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL))
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0xD7E4F2)
    Local $Label1 = GUICtrlCreateLabel("Code Suggestions:", 3, 5, 110, 19)
    GUICtrlSetFont(-1, 9, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetOnEvent($File_Menu_New, "GUI_File_New")
    GUICtrlSetOnEvent($File_Menu_Open, "GUI_File_Open")
    GUICtrlSetOnEvent($File_Menu_Save, "GUI_File_Save")
    GUICtrlSetOnEvent($File_Menu_Exit, "Close_Workstation")
    GUICtrlSetOnEvent($File_Menu_Runx86, "GUI_Run_x86")
    GUICtrlSetOnEvent($File_Menu_Runx64, "GUI_Run_x64")
    GUICtrlSetOnEvent($File_Menu_Compiler, "GUI_Compiler")
    GUICtrlSetOnEvent($File_Menu_About, "GUI_About")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Close_Workstation", $GUI_Workstation)
    GUISetState(@SW_SHOW, $GUI_Workstation)
EndFunc
#EndRegion End Workstation GUI Creation


#Region Begin Compiler GUI Creation
Func GUI_Compiler()
    Global $GUI_Compiler = GUICreate("AICompiler GUI", 234, 447, 325, 143)
    Local $GUI_Compiler_Label1 = GUICtrlCreateLabel("App Name:", 8, 11, 57, 17)
    Local $GUI_Compiler_Label2 = GUICtrlCreateLabel("App Icon:", 8, 35, 50, 17)
    Local $GUI_Compiler_Label3 = GUICtrlCreateLabel("Product Name:", 8, 59, 75, 17)
    Local $GUI_Compiler_Label4 = GUICtrlCreateLabel("Company Name:", 8, 83, 82, 17)
    Local $GUI_Compiler_Label5 = GUICtrlCreateLabel("Copyright:", 8, 107, 51, 17)
    Local $GUI_Compiler_Label6 = GUICtrlCreateLabel("Trademarks:", 8, 131, 63, 17)
    Local $GUI_Compiler_Label7 = GUICtrlCreateLabel("File Version:", 8, 155, 61, 17)
    Local $GUI_Compiler_Label8 = GUICtrlCreateLabel("Product Version:", 8, 179, 82, 17)
    Local $GUI_Compiler_Label9 = GUICtrlCreateLabel("Description:", 8, 203, 60, 17)
    Local $GUI_Compiler_Label10 = GUICtrlCreateLabel("Comment:", 8, 227, 51, 17)
    Local $GUI_Compiler_Label11 = GUICtrlCreateLabel("Ignore Directives:", 8, 251, 87, 17)
    Local $GUI_Compiler_Label12 = GUICtrlCreateLabel("Compile For:", 8, 275, 62, 17)
    Local $GUI_Compiler_Label13 = GUICtrlCreateLabel("Compression:", 8, 299, 67, 17)
    Local $GUI_Compiler_Label14 = GUICtrlCreateLabel("Comp. w/ UPX:", 8, 323, 78, 17)
    Local $GUI_Compiler_Label15 = GUICtrlCreateLabel("Execution Level:", 8, 347, 83, 17)
    Local $GUI_Compiler_Label16 = GUICtrlCreateLabel("Compatibility:", 8, 371, 65, 17)
    Local $GUI_Compiler_Label17 = GUICtrlCreateLabel("App Type:", 8, 395, 53, 17)
    Global $GUI_Compiler_OutputFile = GUICtrlCreateInput("My App", 72, 8, 153, 21)
    Global $GUI_Compiler_IconFile = GUICtrlCreateInput($FILE_icon, 72, 32, 105, 21)
    Global $GUI_Compiler_LoadIcon_Button = GUICtrlCreateButton("Load", 184, 32, 43, 21)
    Global $GUI_Compiler_ProductName = GUICtrlCreateInput("", 88, 56, 137, 21)
    Global $GUI_Compiler_CompanyName = GUICtrlCreateInput("", 88, 80, 137, 21)
    Global $GUI_Compiler_Copyright = GUICtrlCreateInput("", 72, 104, 153, 21)
    Global $GUI_Compiler_Trademarks = GUICtrlCreateInput("", 72, 128, 153, 21)
    Global $GUI_Compiler_FileVersion = GUICtrlCreateInput("", 88, 152, 137, 21)
    Global $GUI_Compiler_ProductVersion = GUICtrlCreateInput("", 88, 176, 137, 21)
    Global $GUI_Compiler_Description = GUICtrlCreateInput("", 72, 200, 153, 21)
    Global $GUI_Compiler_Comment = GUICtrlCreateInput("", 72, 224, 153, 21)
    Global $GUI_Compiler_IgnoreDirectives = GUICtrlCreateCheckbox("Ignore", 120, 248, 65, 17)
    Global $GUI_Compiler_x86 = GUICtrlCreateCheckbox("x86", 120, 273, 49, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    Global $GUI_Compiler_x64 = GUICtrlCreateCheckbox("x64", 176, 273, 49, 17)
    Global $GUI_Compiler_Compression = GUICtrlCreateCombo("None", 88, 296, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_Compression, "Low|Medium|High|Highest", "None")
    Global $GUI_Compiler_UPXCompression = GUICtrlCreateCombo("Dont Compress", 88, 320, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_UPXCompression, "Compress", "Dont Compress")
    Global $GUI_Compiler_ExecutionLevel = GUICtrlCreateCombo("None", 88, 344, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_ExecutionLevel, "AsInvoker|Highest Avail|Require Admin", "None")
    Global $GUI_Compiler_Compatibility = GUICtrlCreateCombo("All", 88, 368, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_Compatibility, "Windows Vista|Windows 7|Windows 8", "All")
    Global $GUI_Compiler_AppType = GUICtrlCreateCombo("Default", 88, 392, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_AppType, "GUI|Console", "Default")
    Global $GUI_Compiler_Compile_Button = GUICtrlCreateButton("Compile", 136, 416, 91, 25)
    GUICtrlSetOnEvent($GUI_Compiler_LoadIcon_Button, "Compiler")
    GUICtrlSetOnEvent($GUI_Compiler_Compile_Button, "Compiler")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Close_Compiler", $GUI_Compiler)
    GUISetState(@SW_SHOW, $GUI_Compiler)
EndFunc
#EndRegion End Compiler GUI Creation


#Region Begin Splash GUI Events
Func Close_Spash()
    TrayTip("AIP Response", "Please wait for AIP to finish initializing", 6)
EndFunc
#EndRegion End Splash GUI Creation


#Region Begin Workstation GUI Events
Func GUI_File_New()
    GUICtrlSetData($GUI_Workstation_WorkArea, "")
EndFunc
Func GUI_File_Open()
    Local $f_open_script = FileOpenDialog("Open AutoIt Script", @ScriptDir, "au3 (*.au3)|All (*.*)", 1, $Last_Opened, $GUI_Workstation)
    $Last_Opened = StringTrimLeft($f_open_script, StringInStr($f_open_script, "\", $STR_NOCASESENSE, -1))
    Local $f_open_script_Script = FileRead($f_open_script)
    GUICtrlSetData($GUI_Workstation_WorkArea, $f_open_script_Script)
EndFunc
Func GUI_File_Save()
    Local $f_save_script = FileSaveDialog("Save AutoIt Script", @ScriptDir, "au3 (*.au3)|All (*.*)", 0, $Last_Opened, $GUI_Workstation)
    $Last_Opened = StringTrimLeft($f_save_script, StringInStr($f_save_script, "\", $STR_NOCASESENSE, -1))
    Local $f_script = GUICtrlRead($GUI_Workstation_WorkArea)
    If FileExists($f_save_script) Then FileDelete($f_save_script)
    _FileCreate($f_save_script)
    Local $f_save_script_Open = FileOpen($f_save_script, $FO_APPEND)
    FileWrite($f_save_script_Open, $f_script)
    FileClose($f_save_script_Open)
EndFunc
Func GUI_Run_x86()
    Local $f_script = GUICtrlRead($GUI_Workstation_WorkArea)
    If FileExists($FILE_TEMP_EXE) Then FileDelete($FILE_TEMP_EXE)
    If FileExists($FILE_TEMP) Then FileDelete($FILE_TEMP)
    _FileCreate($FILE_TEMP)
    Local $FILE_TEMP_Open = FileOpen($FILE_TEMP, $FO_APPEND)
    FileWrite($FILE_TEMP_Open, $f_script)
    FileClose($FILE_TEMP_Open)
    RunWait($DIR_TEMP & '/Aut2exe.exe /in "' & $FILE_TEMP & '" /out "' & $FILE_TEMP_EXE & '" /icon "' & $FILE_icon & '" /comp 0 /nopack /x86')
    FileDelete($FILE_TEMP)
    Run($FILE_TEMP_EXE)
EndFunc
Func GUI_Run_x64()
    Local $f_script = GUICtrlRead($GUI_Workstation_WorkArea)
    If FileExists($FILE_TEMP_EXE) Then FileDelete($FILE_TEMP_EXE)
    If FileExists($FILE_TEMP) Then FileDelete($FILE_TEMP)
    _FileCreate($FILE_TEMP)
    Local $FILE_TEMP_Open = FileOpen($FILE_TEMP, $FO_APPEND)
    FileWrite($FILE_TEMP_Open, $f_script)
    FileClose($FILE_TEMP_Open)
    RunWait($DIR_TEMP & '/Aut2exe.exe /in "' & $FILE_TEMP & '" /out "' & $FILE_TEMP_EXE & '" /icon "' & $FILE_icon & '" /comp 0 /nopack /x64')
    FileDelete($FILE_TEMP)
    Run($FILE_TEMP_EXE)
EndFunc
Func GUI_About()
    MsgBox(0, "About AIP", "AutoIt Portable was made by zelles to help people who need AutoIt on the fly." & @CRLF & "Currently running version: 0.0.1")
EndFunc
Func Close_Workstation()
    GUIDelete($GUI_Workstation)
    If FileExists($DIR_TEMP) Then DirRemove($DIR_TEMP, 1)
    Exit
EndFunc
#EndRegion End Workstation GUI Events


#Region Begin Compiler GUI Events
Func Compiler($f_data)
    ; Unintergrated commands: /ansi /unicode /originalfilename "" /internalname ""
    If Not FileExists($DIR_complier_output) Then DirCreate($DIR_complier_output)
    Local $f_script = GUICtrlRead($GUI_Workstation_WorkArea)
    If FileExists($FILE_TEMP) Then FileDelete($FILE_TEMP)
    _FileCreate($FILE_TEMP)
    Local $FILE_TEMP_Open = FileOpen($FILE_TEMP, $FO_APPEND)
    FileWrite($FILE_TEMP_Open, $f_script)
    FileClose($FILE_TEMP_Open)
    Local $Compiler_Script_x86 = $DIR_TEMP & '/Aut2exe.exe'
    Local $Compiler_Script_x64 = $DIR_TEMP & '/Aut2exe.exe'
    $Compiler_Script_x86 &= ' /in "' & $FILE_TEMP & '"'
    $Compiler_Script_x64 &= ' /in "' & $FILE_TEMP & '"'
    Local $f_OutputFile = GUICtrlRead($GUI_Compiler_OutputFile)
    $Compiler_Script_x86 &= ' /out "' & $DIR_complier_output & '\' & $f_OutputFile & ' x86.exe"'
    $Compiler_Script_x64 &= ' /out "' & $DIR_complier_output & '\' & $f_OutputFile & ' x64.exe"'
    Switch GUICtrlRead($GUI_Compiler_IconFile)
        Case ""
            $Compiler_Script_x86 &= ' /icon "' & $FILE_icon & '"'
            $Compiler_Script_x64 &= ' /icon "' & $FILE_icon & '"'
        Case Else
            If FileExists(GUICtrlRead($GUI_Compiler_IconFile)) Then
                $Compiler_Script_x86 &= ' /icon "' & GUICtrlRead($GUI_Compiler_IconFile) & '"'
                $Compiler_Script_x64 &= ' /icon "' & GUICtrlRead($GUI_Compiler_IconFile) & '"'
            Else
                $Compiler_Script_x86 &= ' /icon "' & $FILE_icon & '"'
                $Compiler_Script_x64 &= ' /icon "' & $FILE_icon & '"'
            EndIf
    EndSwitch
    $Compiler_Script_x86 &= ' /x86'
    $Compiler_Script_x64 &= ' /x64'
    Switch GUICtrlRead($GUI_Compiler_Compression)
        Case "None"
            $Compiler_Script_x86 &= ' /comp 0'
            $Compiler_Script_x64 &= ' /comp 0'
        Case "Low"
            $Compiler_Script_x86 &= ' /comp 1'
            $Compiler_Script_x64 &= ' /comp 1'
        Case "Medium"
            $Compiler_Script_x86 &= ' /comp 2'
            $Compiler_Script_x64 &= ' /comp 2'
        Case "High"
            $Compiler_Script_x86 &= ' /comp 3'
            $Compiler_Script_x64 &= ' /comp 3'
        Case "Highest"
            $Compiler_Script_x86 &= ' /comp 4'
            $Compiler_Script_x64 &= ' /comp 4'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_IgnoreDirectives)
        Case $GUI_CHECKED
            $Compiler_Script_x86 &= ' /ignoredirectives'
            $Compiler_Script_x64 &= ' /ignoredirectives'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_UPXCompression)
        Case "Dont Compress"
            $Compiler_Script_x86 &= ' /nopack'
            $Compiler_Script_x64 &= ' /nopack'
        Case "Compress"
            $Compiler_Script_x86 &= ' /pack'
            $Compiler_Script_x64 &= ' /pack'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_AppType)
        Case "GUI"
            $Compiler_Script_x86 &= ' /gui'
            $Compiler_Script_x64 &= ' /gui'
        Case "Console"
            $Compiler_Script_x86 &= ' /console'
            $Compiler_Script_x64 &= ' /console'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_ExecutionLevel)
        Case "None"
            $Compiler_Script_x86 &= ' /execlevel none'
            $Compiler_Script_x64 &= ' /execlevel none'
        Case "AsInvoker"
            $Compiler_Script_x86 &= ' /execlevel asinvoker'
            $Compiler_Script_x64 &= ' /execlevel asinvoker'
        Case "Highest Avail"
            $Compiler_Script_x86 &= ' /execlevel highestavailable'
            $Compiler_Script_x64 &= ' /execlevel highestavailable'
        Case "Require Admin"
            $Compiler_Script_x86 &= ' /execlevel requireadministrator'
            $Compiler_Script_x64 &= ' /execlevel requireadministrator'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Compatibility)
        Case "Windows Vista"
            $Compiler_Script_x86 &= ' /compatibility vista'
            $Compiler_Script_x64 &= ' /compatibility vista'
        Case "Windows 7"
            $Compiler_Script_x86 &= ' /compatibility win7'
            $Compiler_Script_x64 &= ' /compatibility win7'
        Case "Windows 8"
            $Compiler_Script_x86 &= ' /compatibility win8'
            $Compiler_Script_x64 &= ' /compatibility win8'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Comment)
        Case ""
            $Compiler_Script_x86 &= ' /comments "Compiled with AutoIt Portable by zelles."'
            $Compiler_Script_x64 &= ' /comments "Compiled with AutoIt Portable by zelles."'
        Case Else
            $Compiler_Script_x86 &= ' /comments "' & GUICtrlRead($GUI_Compiler_Comment) & '"'
            $Compiler_Script_x64 &= ' /comments "' & GUICtrlRead($GUI_Compiler_Comment) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_CompanyName)
        Case ""
            $Compiler_Script_x86 &= ' /companyname "None"'
            $Compiler_Script_x64 &= ' /companyname "None"'
        Case Else
            $Compiler_Script_x86 &= ' /companyname "' & GUICtrlRead($GUI_Compiler_CompanyName) & '"'
            $Compiler_Script_x64 &= ' /companyname "' & GUICtrlRead($GUI_Compiler_CompanyName) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Description)
        Case ""
            $Compiler_Script_x86 &= ' /filedescription "None"'
            $Compiler_Script_x64 &= ' /filedescription "None"'
        Case Else
            $Compiler_Script_x86 &= ' /filedescription "' & GUICtrlRead($GUI_Compiler_Description) & '"'
            $Compiler_Script_x64 &= ' /filedescription "' & GUICtrlRead($GUI_Compiler_Description) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Copyright)
        Case ""
            $Compiler_Script_x86 &= ' /legalcopyright ' & @YEAR
            $Compiler_Script_x64 &= ' /legalcopyright ' & @YEAR
        Case Else
            $Compiler_Script_x86 &= ' /legalcopyright "' & GUICtrlRead($GUI_Compiler_Copyright) & '"'
            $Compiler_Script_x64 &= ' /legalcopyright "' & GUICtrlRead($GUI_Compiler_Copyright) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Trademarks)
        Case ""
            $nothing = 0
        Case Else
            $Compiler_Script_x86 &= ' /legaltrademarks "' & GUICtrlRead($GUI_Compiler_Trademarks) & '"'
            $Compiler_Script_x64 &= ' /legaltrademarks "' & GUICtrlRead($GUI_Compiler_Trademarks) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_ProductName)
        Case ""
            $nothing = 0
        Case Else
            $Compiler_Script_x86 &= ' /productname "' & GUICtrlRead($GUI_Compiler_ProductName) & '"'
            $Compiler_Script_x64 &= ' /productname "' & GUICtrlRead($GUI_Compiler_ProductName) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_FileVersion)
        Case ""
            $Compiler_Script_x86 &= ' /fileversion "0.0.0.1"'
            $Compiler_Script_x64 &= ' /fileversion "0.0.0.1"'
        Case Else
            $Compiler_Script_x86 &= ' /fileversion "' & GUICtrlRead($GUI_Compiler_FileVersion) & '"'
            $Compiler_Script_x64 &= ' /fileversion "' & GUICtrlRead($GUI_Compiler_FileVersion) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_ProductVersion)
        Case ""
            $Compiler_Script_x86 &= ' /productversion "3.3.12.0"'
            $Compiler_Script_x64 &= ' /productversion "3.3.12.0"'
        Case Else
            $Compiler_Script_x86 &= ' /productversion "' & GUICtrlRead($GUI_Compiler_ProductVersion) & '"'
            $Compiler_Script_x64 &= ' /productversion "' & GUICtrlRead($GUI_Compiler_ProductVersion) & '"'
    EndSwitch

    If GUICtrlRead($GUI_Compiler_x86) = $GUI_CHECKED Then
        RunWait($Compiler_Script_x86)
        ;RunWait($DIR_TEMP & '/Aut2exe.exe /in "' & $FILE_TEMP & '" /out "' & $DIR_complier_output & '\' & $f_OutputFile & ' x86.exe" /icon "' & $FILE_icon & '"' & $f_Compression & $f_UPXCompression & ' /x86')
        ;RunWait($DIR_TEMP & '/Aut2exe.exe /in "' & $FILE_TEMP & '" /out "' & $DIR_complier_output & '\' & $f_OutputFile & ' x86.exe"' & $f_IconFile & $f_Compression & $f_IgnoreDirectives & $f_UPXCompression & ' /x86'`& $f_AppType & $f_ExecutionLevel & $f_Compatibility & $f_Comment & $f_CompanyName & $f_Description & $f_Copyright & $f_Trademarks & $f_ProductName & $f_FileVersion & $f_ProductVersion)
    EndIf
    If GUICtrlRead($GUI_Compiler_x64) = $GUI_CHECKED Then
        RunWait($Compiler_Script_x64)
        ;RunWait($DIR_TEMP & '/Aut2exe.exe /in "' & $FILE_TEMP & '" /out "' & $DIR_complier_output & '\' & $f_OutputFile & ' x64.exe"' & $f_IconFile & $f_Compression & $f_IgnoreDirectives & $f_UPXCompression & ' /x64'`& $f_AppType & $f_ExecutionLevel & $f_Compatibility & $f_Comment & $f_CompanyName & $f_Description & $f_Copyright & $f_Trademarks & $f_ProductName & $f_FileVersion & $f_ProductVersion)
    EndIf
    FileDelete($FILE_TEMP)
    GUIDelete($GUI_Compiler)
    MsgBox(0, "AIP Response", "The compiler is finished. Check script directory for files.")
EndFunc
Func Close_Compiler()
    GUIDelete($GUI_Compiler)
EndFunc
#EndRegion End Compiler GUI Events


#Region Begin Temp Appdata Setup
Func Create_Temp_Workstation()
    If Not FileExists($DIR_TEMP) Then DirCreate($DIR_TEMP)
    If Not FileExists($DIR_includes) Then DirCreate($DIR_includes)
    FileInstall("C:\AIP\Icon.ico", $DIR_TEMP & "\Icon.ico", 0)
    FileInstall("C:\AIP\Aut2exe.exe", $DIR_TEMP & "\Aut2exe.exe", 0)
    FileInstall("C:\AIP\upx.exe", $DIR_TEMP & "\upx.exe", 0)
    FileInstall("C:\AIP\includes\APIComConstants.au3", $DIR_includes & "\APIComConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIConstants.au3", $DIR_includes & "\APIConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIDiagConstants.au3", $DIR_includes & "\APIDiagConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIDlgConstants.au3", $DIR_includes & "\APIDlgConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIErrorsConstants.au3", $DIR_includes & "\APIErrorsConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIFilesConstants.au3", $DIR_includes & "\APIFilesConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIGdiConstants.au3", $DIR_includes & "\APIGdiConstants.au3", 0)
    FileInstall("C:\AIP\includes\APILocaleConstants.au3", $DIR_includes & "\APILocaleConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIMiscConstants.au3", $DIR_includes & "\APIMiscConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIProcConstants.au3", $DIR_includes & "\APIProcConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIRegConstants.au3", $DIR_includes & "\APIRegConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIResConstants.au3", $DIR_includes & "\APIResConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIShellExConstants.au3", $DIR_includes & "\APIShellExConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIShPathConstants.au3", $DIR_includes & "\APIShPathConstants.au3", 0)
    FileInstall("C:\AIP\includes\APISysConstants.au3", $DIR_includes & "\APISysConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIThemeConstants.au3", $DIR_includes & "\APIThemeConstants.au3", 0)
    FileInstall("C:\AIP\includes\Array.au3", $DIR_includes & "\Array.au3", 0)
    FileInstall("C:\AIP\includes\AutoItConstants.au3", $DIR_includes & "\AutoItConstants.au3", 0)
    FileInstall("C:\AIP\includes\AVIConstants.au3", $DIR_includes & "\AVIConstants.au3", 0)
    FileInstall("C:\AIP\includes\BorderConstants.au3", $DIR_includes & "\BorderConstants.au3", 0)
    FileInstall("C:\AIP\includes\ButtonConstants.au3", $DIR_includes & "\ButtonConstants.au3", 0)
    FileInstall("C:\AIP\includes\Clipboard.au3", $DIR_includes & "\Clipboard.au3", 0)
    FileInstall("C:\AIP\includes\Color.au3", $DIR_includes & "\Color.au3", 0)
    FileInstall("C:\AIP\includes\ColorConstants.au3", $DIR_includes & "\ColorConstants.au3", 0)
    FileInstall("C:\AIP\includes\ComboConstants.au3", $DIR_includes & "\ComboConstants.au3", 0)
    FileInstall("C:\AIP\includes\Constants.au3", $DIR_includes & "\Constants.au3", 0)
    FileInstall("C:\AIP\includes\Crypt.au3", $DIR_includes & "\Crypt.au3", 0)
    FileInstall("C:\AIP\includes\Date.au3", $DIR_includes & "\Date.au3", 0)
    FileInstall("C:\AIP\includes\DateTimeConstants.au3", $DIR_includes & "\DateTimeConstants.au3", 0)
    FileInstall("C:\AIP\includes\Debug.au3", $DIR_includes & "\Debug.au3", 0)
    FileInstall("C:\AIP\includes\DirConstants.au3", $DIR_includes & "\DirConstants.au3", 0)
    FileInstall("C:\AIP\includes\EditConstants.au3", $DIR_includes & "\EditConstants.au3", 0)
    FileInstall("C:\AIP\includes\EventLog.au3", $DIR_includes & "\EventLog.au3", 0)
    FileInstall("C:\AIP\includes\Excel.au3", $DIR_includes & "\Excel.au3", 0)
    FileInstall("C:\AIP\includes\ExcelConstants.au3", $DIR_includes & "\ExcelConstants.au3", 0)
    FileInstall("C:\AIP\includes\File.au3", $DIR_includes & "\File.au3", 0)
    FileInstall("C:\AIP\includes\FileConstants.au3", $DIR_includes & "\FileConstants.au3", 0)
    FileInstall("C:\AIP\includes\FontConstants.au3", $DIR_includes & "\FontConstants.au3", 0)
    FileInstall("C:\AIP\includes\FrameConstants.au3", $DIR_includes & "\FrameConstants.au3", 0)
    FileInstall("C:\AIP\includes\FTPEx.au3", $DIR_includes & "\FTPEx.au3", 0)
    FileInstall("C:\AIP\includes\GDIPlus.au3", $DIR_includes & "\GDIPlus.au3", 0)
    FileInstall("C:\AIP\includes\GDIPlusConstants.au3", $DIR_includes & "\GDIPlusConstants.au3", 0)
    FileInstall("C:\AIP\includes\GuiAVI.au3", $DIR_includes & "\GuiAVI.au3", 0)
    FileInstall("C:\AIP\includes\GuiButton.au3", $DIR_includes & "\GuiButton.au3", 0)
    FileInstall("C:\AIP\includes\GuiComboBox.au3", $DIR_includes & "\GuiComboBox.au3", 0)
    FileInstall("C:\AIP\includes\GuiComboBoxEx.au3", $DIR_includes & "\GuiComboBoxEx.au3", 0)
    FileInstall("C:\AIP\includes\GUIConstants.au3", $DIR_includes & "\GUIConstants.au3", 0)
    FileInstall("C:\AIP\includes\GUIConstantsEx.au3", $DIR_includes & "\GUIConstantsEx.au3", 0)
    FileInstall("C:\AIP\includes\GuiDateTimePicker.au3", $DIR_includes & "\GuiDateTimePicker.au3", 0)
    FileInstall("C:\AIP\includes\GuiEdit.au3", $DIR_includes & "\GuiEdit.au3", 0)
    FileInstall("C:\AIP\includes\GuiHeader.au3", $DIR_includes & "\GuiHeader.au3", 0)
    FileInstall("C:\AIP\includes\GuiImageList.au3", $DIR_includes & "\GuiImageList.au3", 0)
    FileInstall("C:\AIP\includes\GuiIPAddress.au3", $DIR_includes & "\GuiIPAddress.au3", 0)
    FileInstall("C:\AIP\includes\GuiListBox.au3", $DIR_includes & "\GuiListBox.au3", 0)
    FileInstall("C:\AIP\includes\GuiListView.au3", $DIR_includes & "\GuiListView.au3", 0)
    FileInstall("C:\AIP\includes\GuiMenu.au3", $DIR_includes & "\GuiMenu.au3", 0)
    FileInstall("C:\AIP\includes\GuiMonthCal.au3", $DIR_includes & "\GuiMonthCal.au3", 0)
    FileInstall("C:\AIP\includes\GuiReBar.au3", $DIR_includes & "\GuiReBar.au3", 0)
    FileInstall("C:\AIP\includes\GuiRichEdit.au3", $DIR_includes & "\GuiRichEdit.au3", 0)
    FileInstall("C:\AIP\includes\GuiScrollBars.au3", $DIR_includes & "\GuiScrollBars.au3", 0)
    FileInstall("C:\AIP\includes\GuiSlider.au3", $DIR_includes & "\GuiSlider.au3", 0)
    FileInstall("C:\AIP\includes\GuiStatusBar.au3", $DIR_includes & "\GuiStatusBar.au3", 0)
    FileInstall("C:\AIP\includes\GuiTab.au3", $DIR_includes & "\GuiTab.au3", 0)
    FileInstall("C:\AIP\includes\GuiToolbar.au3", $DIR_includes & "\GuiToolbar.au3", 0)
    FileInstall("C:\AIP\includes\GuiToolTip.au3", $DIR_includes & "\GuiToolTip.au3", 0)
    FileInstall("C:\AIP\includes\GuiTreeView.au3", $DIR_includes & "\GuiTreeView.au3", 0)
    FileInstall("C:\AIP\includes\HeaderConstants.au3", $DIR_includes & "\HeaderConstants.au3", 0)
    FileInstall("C:\AIP\includes\IE.au3", $DIR_includes & "\IE.au3", 0)
    FileInstall("C:\AIP\includes\ImageListConstants.au3", $DIR_includes & "\ImageListConstants.au3", 0)
    FileInstall("C:\AIP\includes\Inet.au3", $DIR_includes & "\Inet.au3", 0)
    FileInstall("C:\AIP\includes\InetConstants.au3", $DIR_includes & "\InetConstants.au3", 0)
    FileInstall("C:\AIP\includes\IPAddressConstants.au3", $DIR_includes & "\IPAddressConstants.au3", 0)
    FileInstall("C:\AIP\includes\ListBoxConstants.au3", $DIR_includes & "\ListBoxConstants.au3", 0)
    FileInstall("C:\AIP\includes\ListViewConstants.au3", $DIR_includes & "\ListViewConstants.au3", 0)
    FileInstall("C:\AIP\includes\Math.au3", $DIR_includes & "\Math.au3", 0)
    FileInstall("C:\AIP\includes\Memory.au3", $DIR_includes & "\Memory.au3", 0)
    FileInstall("C:\AIP\includes\MemoryConstants.au3", $DIR_includes & "\MemoryConstants.au3", 0)
    FileInstall("C:\AIP\includes\MenuConstants.au3", $DIR_includes & "\MenuConstants.au3", 0)
    FileInstall("C:\AIP\includes\Misc.au3", $DIR_includes & "\Misc.au3", 0)
    FileInstall("C:\AIP\includes\MsgBoxConstants.au3", $DIR_includes & "\MsgBoxConstants.au3", 0)
    FileInstall("C:\AIP\includes\NamedPipes.au3", $DIR_includes & "\NamedPipes.au3", 0)
    FileInstall("C:\AIP\includes\NetShare.au3", $DIR_includes & "\NetShare.au3", 0)
    FileInstall("C:\AIP\includes\NTSTATUSConstants.au3", $DIR_includes & "\NTSTATUSConstants.au3", 0)
    FileInstall("C:\AIP\includes\Process.au3", $DIR_includes & "\Process.au3", 0)
    FileInstall("C:\AIP\includes\ProcessConstants.au3", $DIR_includes & "\ProcessConstants.au3", 0)
    FileInstall("C:\AIP\includes\ProgressConstants.au3", $DIR_includes & "\ProgressConstants.au3", 0)
    FileInstall("C:\AIP\includes\RebarConstants.au3", $DIR_includes & "\RebarConstants.au3", 0)
    FileInstall("C:\AIP\includes\RichEditConstants.au3", $DIR_includes & "\RichEditConstants.au3", 0)
    FileInstall("C:\AIP\includes\ScreenCapture.au3", $DIR_includes & "\ScreenCapture.au3", 0)
    FileInstall("C:\AIP\includes\ScrollBarConstants.au3", $DIR_includes & "\ScrollBarConstants.au3", 0)
    FileInstall("C:\AIP\includes\ScrollBarsConstants.au3", $DIR_includes & "\ScrollBarsConstants.au3", 0)
    FileInstall("C:\AIP\includes\Security.au3", $DIR_includes & "\Security.au3", 0)
    FileInstall("C:\AIP\includes\SecurityConstants.au3", $DIR_includes & "\SecurityConstants.au3", 0)
    FileInstall("C:\AIP\includes\SendMessage.au3", $DIR_includes & "\SendMessage.au3", 0)
    FileInstall("C:\AIP\includes\SliderConstants.au3", $DIR_includes & "\SendMessage.au3", 0)
    FileInstall("C:\AIP\includes\Sound.au3", $DIR_includes & "\Sound.au3", 0)
    FileInstall("C:\AIP\includes\SQLite.au3", $DIR_includes & "\SQLite.au3", 0)
    FileInstall("C:\AIP\includes\SQLite.dll.au3", $DIR_includes & "\SQLite.dll.au3", 0)
    FileInstall("C:\AIP\includes\StaticConstants.au3", $DIR_includes & "\StaticConstants.au3", 0)
    FileInstall("C:\AIP\includes\StatusBarConstants.au3", $DIR_includes & "\StatusBarConstants.au3", 0)
    FileInstall("C:\AIP\includes\String.au3", $DIR_includes & "\String.au3", 0)
    FileInstall("C:\AIP\includes\StringConstants.au3", $DIR_includes & "\StringConstants.au3", 0)
    FileInstall("C:\AIP\includes\StructureConstants.au3", $DIR_includes & "\StructureConstants.au3", 0)
    FileInstall("C:\AIP\includes\TabConstants.au3", $DIR_includes & "\TabConstants.au3", 0)
    FileInstall("C:\AIP\includes\Timers.au3", $DIR_includes & "\Timers.au3", 0)
    FileInstall("C:\AIP\includes\ToolbarConstants.au3", $DIR_includes & "\ToolbarConstants.au3", 0)
    FileInstall("C:\AIP\includes\ToolTipConstants.au3", $DIR_includes & "\ToolTipConstants.au3", 0)
    FileInstall("C:\AIP\includes\TrayConstants.au3", $DIR_includes & "\TrayConstants.au3", 0)
    FileInstall("C:\AIP\includes\TreeViewConstants.au3", $DIR_includes & "\TreeViewConstants.au3", 0)
    FileInstall("C:\AIP\includes\UDFGlobalID.au3", $DIR_includes & "\UDFGlobalID.au3", 0)
    FileInstall("C:\AIP\includes\UpDownConstants.au3", $DIR_includes & "\UpDownConstants.au3", 0)
    FileInstall("C:\AIP\includes\Visa.au3", $DIR_includes & "\Visa.au3", 0)
    FileInstall("C:\AIP\includes\WinAPI.au3", $DIR_includes & "\WinAPI.au3", 0)
    FileInstall("C:\AIP\includes\WinAPICom.au3", $DIR_includes & "\WinAPICom.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIConstants.au3", $DIR_includes & "\WinAPIConstants.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIDiag.au3", $DIR_includes & "\WinAPIDiag.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIDlg.au3", $DIR_includes & "\WinAPIDlg.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIError.au3", $DIR_includes & "\WinAPIError.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIEx.au3", $DIR_includes & "\WinAPIEx.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIFiles.au3", $DIR_includes & "\WinAPIFiles.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIGdi.au3", $DIR_includes & "\WinAPIGdi.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIInternals.au3", $DIR_includes & "\WinAPIInternals.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIlangConstants.au3", $DIR_includes & "\WinAPIlangConstants.au3", 0)
    FileInstall("C:\AIP\includes\WinAPILocale.au3", $DIR_includes & "\WinAPILocale.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIMisc.au3", $DIR_includes & "\WinAPIMisc.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIProc.au3", $DIR_includes & "\WinAPIProc.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIReg.au3", $DIR_includes & "\WinAPIReg.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIRes.au3", $DIR_includes & "\WinAPIRes.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIShellEx.au3", $DIR_includes & "\WinAPIShellEx.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIShPath.au3", $DIR_includes & "\WinAPIShPath.au3", 0)
    FileInstall("C:\AIP\includes\WinAPISys.au3", $DIR_includes & "\WinAPISys.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIsysinfoConstants.au3", $DIR_includes & "\WinAPIsysinfoConstants.au3", 0)
    FileInstall("C:\AIP\includes\WinAPITheme.au3", $DIR_includes & "\WinAPITheme.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIvkeysConstants.au3", $DIR_includes & "\WinAPIvkeysConstants.au3", 0)
    FileInstall("C:\AIP\includes\WindowsConstants.au3", $DIR_includes & "\WindowsConstants.au3", 0)
    FileInstall("C:\AIP\includes\WinNet.au3", $DIR_includes & "\WinNet.au3", 0)
    FileInstall("C:\AIP\includes\Word.au3", $DIR_includes & "\Word.au3", 0)
    FileInstall("C:\AIP\includes\WordConstants.au3", $DIR_includes & "\WordConstants.au3", 0)
EndFunc
#EndRegion End Temp Appdata Setup

Version 0.0.3 Download:

Windows binaries and source code can be found at https://github.com/zelles/AutoIt-Portable

Link to post
Share on other sites

Version 0.0.4 Updates:

Enhanced code suggestions and also added a, "custom-includes", folder for any includes(UDF's) you want to add. They are imported instantly even if AIP is already running.

Version 0.0.4 Source-Code:

#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=..\AIP\Icon.ico
#AutoIt3Wrapper_Res_Description=Compile your AutoIt scripts on the fly!
#AutoIt3Wrapper_Res_Fileversion=0.0.3
#AutoIt3Wrapper_Res_LegalCopyright=Copyright 2014 zelles
#AutoIt3Wrapper_Res_Language=1033
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

_Singleton("AutoItPortableByzelles")
Opt("GUIOnEventMode", 1)
Opt("TrayMenuMode", 3)

Global $DIR_complier_output = @ScriptDir & "\compiled"
Global $DIR_TEMP = @ScriptDir & "\temp_appdata"
Global $DIR_includes = $DIR_TEMP & "\includes"
Global $FILE_icon = $DIR_TEMP & "\Icon.ico"
Global $FILE_TEMP = $DIR_includes & "\aip_temp.au3"
Global $FILE_TEMP_EXE = $DIR_TEMP & "\aip_temp.exe"
Global $IMG_Splash = $DIR_TEMP & "\splash.gif"
Global $Last_Opened = "AIPScript.au3"

Global $AUTOIT_CODES = ''
$AUTOIT_CODES &= 'Local||Global||If||Then||ElseIf||Else||EndIf||Case||Switch||EndSwitch||Select||EndSelect||While||WEnd||With||EndWith||Do||Until||For||Next||In||To||Or||And||True||False||Return||Exit||ExitLoop||Dim||ReDim||Const||ContinueCase||ContinueLoop||Not||Null||ByRef||Default||Func||EndFunc||Enum||Static||Step||Volatile'
$AUTOIT_CODES &= '||Opt("CaretCoordMode",1)||Opt("ExpandEnvStrings",0)||Opt("ExpandVarStrings",0)||Opt("GUICloseOnESC",1)||Opt("GUICoordMode",1)||Opt("GUIDataSeparatorChar","|")||Opt("GUIOnEventMode",0)||Opt("GUIResizeMode",0)||Opt("GUIEventOptions",0)||Opt("MouseClickDelay",10)||Opt("MouseClickDownDelay",10)||Opt("MouseClickDragDelay",250)||Opt("MouseCoordMode",1)||Opt("MustDeclareVars",0)||Opt("PixelCoordMode",1)||Opt("SendAttachMode",0)||Opt("SendCapslockMode",1)||Opt("SendKeyDelay",5)||Opt("SendKeyDownDelay",1)||Opt("TCPTimeout",100)||Opt("TrayAutoPause",1)||Opt("TrayIconDebug",0)||Opt("TrayIconHide",0)||Opt("TrayMenuMode",0)||Opt("TrayOnEventMode",0)||Opt("WinDetectHiddenText",0)||Opt("WinSearchChildren",1)||Opt("WinTextMatchMode",1)||Opt("WinTitleMatchMode",1)||Opt("WinWaitDelay",250)'
$AUTOIT_CODES &= '||@AppDataCommonDir||@AppDataDir||@AutoItExe||@AutoItPID||@AutoItVersion||@AutoItX64||@COM_EventObj||@CommonFilesDir||@Compiled||@ComputerName||@ComSpec||@CPUArch||@CR||@CRLF||@CR||@LF||@DesktopCommonDir||@DesktopDepth||@DesktopDir||@DesktopHeight||@DesktopRefresh||@DesktopWidth||@DocumentsCommonDir||@error||@exitCode||@exitMethod||@extended||@FavoritesCommonDir||@FavoritesDir||@GUI_CtrlHandle||@GUI_CtrlId||@GUI_DragFile||@GUI_DragId||@GUI_DropId||@GUI_WinHandle||@HomeDrive||@HomePath||@HomeShare||@HotKeyPressed||@HOUR||@IPAddress1||@IPAddress2||@IPAddress3||@IPAddress4||@KBLayout||@LF||@LocalAppDataDir||@LogonDNSDomain||@LogonDomain||@LogonServer||@MDAY||@MIN||@MON||@MSEC||@MUILang||@MyDocumentsDir||@NumParams||@OSArch||@OSBuild||@OSLang||@OSServicePack||@OSType||@OSVersion||@ProgramFilesDir||@ProgramsCommonDir||@ProgramsDir||@ScriptDir||@ScriptFullPath||@ScriptLineNumber||@ScriptName||@SEC||@StartMenuCommonDir||@StartMenuDir||@StartupCommonDir||@StartupDir||@SW_DISABLE||@SW_ENABLE||@SW_HIDE||@SW_LOCK||@SW_MAXIMIZE||@SW_MINIMIZE||@SW_RESTORE||@SW_SHOW||@SW_SHOWDEFAULT||@SW_SHOWMAXIMIZED||@SW_SHOWMINIMIZED||@SW_SHOWMINNOACTIVE||@SW_SHOWNA||@SW_SHOWNOACTIVATE||@SW_SHOWNORMAL||@SW_UNLOCK||@SystemDir||@TAB||@TempDir||@TRAY_ID||@TrayIconFlashing||@TrayIconVisible||@UserName||@UserProfileDir||@WDAY||@WindowsDir||@WorkingDir||@YDAY||@YEAR'
$AUTOIT_CODES &= '||#cs||#ce||#include||#include-once||#NoTrayIcon||#RequireAdmin||#OnAutoItStartRegister||#Region||#EndRegion||#pragma compile'
$AUTOIT_CODES &= '||<APIComConstants.au3>||<APIConstants.au3>||<APIDiagConstants.au3>||<APIDlgConstants.au3>||<APIErrorsConstants.au3>||<APIFilesConstants.au3>||<APIGdiConstants.au3>||<APILocaleConstants.au3>||<APIMiscConstants.au3>||<APIProcConstants.au3>||<APIRegConstants.au3>||<APIResConstants.au3>||<APIShellExConstants.au3>||<APIShPathConstants.au3>||<APISysConstants.au3>||<APIThemeConstants.au3>||<Array.au3>||<AutoItConstants.au3>||<AVIConstants.au3>||<BorderConstants.au3>||<ButtonConstants.au3>||<Clipboard.au3>||<Color.au3>||<ColorConstants.au3>||<ComboConstants.au3>||<Constants.au3>||<Crypt.au3>||<Date.au3>||<DateTimeConstants.au3>||<Debug.au3>||<DirConstants.au3>||<EditConstants.au3>||<EventLog.au3>||<Excel.au3>||<ExcelConstants.au3>||<File.au3>||<FileConstants.au3>||<FontConstants.au3>||<FrameConstants.au3>||<FTPEx.au3>||<GDIPlus.au3>||<GDIPlusConstants.au3>||<GuiAVI.au3>||<GuiButton.au3>||<GuiComboBox.au3>||<GuiComboBoxEx.au3>'
$AUTOIT_CODES &= '||<GUIConstants.au3>||<GUIConstantsEx.au3>||<GuiDateTimePicker.au3>||<GuiEdit.au3>||<GuiHeader.au3>||<GuiImageList.au3>||<GuiIPAddress.au3>||<GuiListBox.au3>||<GuiListView.au3>||<GuiMenu.au3>||<GuiMonthCal.au3>||<GuiReBar.au3>||<GuiRichEdit.au3>||<GuiScrollBars.au3>||<GuiSlider.au3>||<GuiStatusBar.au3>||<GuiTab.au3>||<GuiToolbar.au3>||<GuiToolTip.au3>||<GuiTreeView.au3>||<HeaderConstants.au3>||<IE.au3>||<ImageListConstants.au3>||<Inet.au3>||<InetConstants.au3>||<IPAddressConstants.au3>||<ListBoxConstants.au3>||<ListViewConstants.au3>||<Math.au3>||<Memory.au3>||<MemoryConstants.au3>||<MenuConstants.au3>||<Misc.au3>||<MsgBoxConstants.au3>||<NamedPipes.au3>||<NetShare.au3>||<NTSTATUSConstants.au3>||<Process.au3>||<ProcessConstants.au3>||<ProgressConstants.au3>||<RebarConstants.au3>||<RichEditConstants.au3>||<ScreenCapture.au3>||<ScrollBarConstants.au3>||<ScrollBarsConstants.au3>||<Security.au3>||<SecurityConstants.au3>'
$AUTOIT_CODES &= '||<SendMessage.au3>||<SliderConstants.au3>||<Sound.au3>||<SQLite.au3>||<SQLite.dll.au3>||<StaticConstants.au3>||<StatusBarConstants.au3>||<String.au3>||<StringConstants.au3>||include <StructureConstants.au3>||<TabConstants.au3>||<Timers.au3>||<ToolbarConstants.au3>||<ToolTipConstants.au3>||<TrayConstants.au3>||<TreeViewConstants.au3>||<UDFGlobalID.au3>||<UpDownConstants.au3>||<Visa.au3>||<WinAPI.au3>||<WinAPICom.au3>||<WinAPIConstants.au3>||<WinAPIDiag.au3>||<WinAPIDlg.au3>||<WinAPIError.au3>||<WinAPIEx.au3>||<WinAPIFiles.au3>||<WinAPIGdi.au3>||<WinAPIInternals.au3>||<WinAPIlangConstants.au3>||<WinAPILocale.au3>||<WinAPIMisc.au3>||<WinAPIProc.au3>||<WinAPIReg.au3>||<WinAPIRes.au3>||<WinAPIShellEx.au3>||<WinAPIShPath.au3>||<WinAPISys.au3>||<WinAPIsysinfoConstants.au3>||<WinAPITheme.au3>||<WinAPIvkeysConstants.au3>||<WindowsConstants.au3>||<WinNet.au3>||<Word.au3>||<WordConstants.au3>'
$AUTOIT_CODES &= '||Abs||ACos||AdlibRegister||AdlibUnRegister||Asc||AscW||ASin||Assign||ATan||AutoItSetOption||AutoItWinGetTitle||AutoItWinSetTitle||Beep||Binary||BinaryLen||BinaryMid||BinaryToString||BitAND||BitNOT||BitOR||BitRotate||BitShift||BitXOR||BlockInput||Break||Call||CDTray||Ceiling||Chr||ChrW||ClipGet||ClipPut||ConsoleRead||ConsoleWrite||ConsoleWriteError||ControlClick||ControlCommand||ControlDisable||ControlEnable||ControlFocus||ControlGetFocus||ControlGetHandle||ControlGetPos||ControlGetText||ControlHide||ControlListView||ControlMove||ControlSend||ControlSetText||ControlShow||ControlTreeView||Cos||Dec||DirCopy||DirCreate||DirGetSize||DirMove||DirRemove||DllCall||DllCallAddress||DllCallbackFree||DllCallbackGetPtr||DllCallbackRegister||DllClose||DllOpen||DllStructCreate||DllStructGetData||DllStructGetPtr||DllStructGetSize||DllStructSetData||DriveGetDrive||DriveGetFileSystem||DriveGetLabel||DriveGetSerial||DriveGetType||DriveMapAdd||DriveMapDel||DriveMapGet||DriveSetLabel||DriveSpaceFree||DriveSpaceTotal||DriveStatus||EnvGet||EnvSet||EnvUpdate||Eval||Execute||Exp||FileChangeDir||FileClose||FileCopy||FileCreateNTFSLink||FileCreateShortcut||FileDelete||FileExists||FileFindFirstFile||FileFindNextFile||FileFlush||FileGetAttrib||FileGetEncoding||FileGetLongName||FileGetPos||FileGetShortcut||FileGetShortName||FileGetSize||FileGetTime'
$AUTOIT_CODES &= '||FileGetVersion||FileInstall||FileMove||FileOpen||FileOpenDialog||FileRead||FileReadLine||FileReadToArray||FileRecycle||FileRecycleEmpty||FileSaveDialog||FileSelectFolder||FileSetAttrib||FileSetPos||FileSetTime||FileWrite||FileWriteLine||Floor||FtpSetProxy||FuncName||GUICreate||GUICtrlCreateAvi||GUICtrlCreateButton||GUICtrlCreateCheckbox||GUICtrlCreateCombo||GUICtrlCreateContextMenu||GUICtrlCreateDate||GUICtrlCreateDummy||GUICtrlCreateEdit||GUICtrlCreateGraphic||GUICtrlCreateGroup||GUICtrlCreateIcon||GUICtrlCreateInput||GUICtrlCreateLabel||GUICtrlCreateList||GUICtrlCreateListView||GUICtrlCreateListViewItem||GUICtrlCreateMenu||GUICtrlCreateMenuItem||GUICtrlCreateMonthCal||GUICtrlCreateObj||GUICtrlCreatePic||GUICtrlCreateProgress||GUICtrlCreateRadio||GUICtrlCreateSlider||GUICtrlCreateTab||GUICtrlCreateTabItem||GUICtrlCreateTreeView||GUICtrlCreateTreeViewItem||GUICtrlCreateUpdown||GUICtrlDelete||GUICtrlGetHandle||GUICtrlGetState||GUICtrlRead||GUICtrlRecvMsg||GUICtrlRegisterListViewSort||GUICtrlSendMsg||GUICtrlSendToDummy||GUICtrlSetBkColor||GUICtrlSetColor||GUICtrlSetCursor||GUICtrlSetData||GUICtrlSetDefBkColor||GUICtrlSetDefColor||GUICtrlSetFont||GUICtrlSetGraphic||GUICtrlSetImage||GUICtrlSetLimit||GUICtrlSetOnEvent||GUICtrlSetPos||GUICtrlSetResizing||GUICtrlSetState||GUICtrlSetStyle||GUICtrlSetTip||GUIDelete'
$AUTOIT_CODES &= '||GUIGetCursorInfo||GUIGetMsg||GUIGetStyle||GUIRegisterMsg||GUISetAccelerators||GUISetBkColor||GUISetCoord||GUISetCursor||GUISetFont||GUISetHelp||GUISetIcon||GUISetOnEvent||GUISetState||GUISetStyle||GUIStartGroup||GUISwitch||Hex||HotKeySet||HttpSetProxy||HttpSetUserAgent||HWnd||InetClose||InetGet||InetGetInfo||InetGetSize||InetRead||IniDelete||IniRead||IniReadSection||IniReadSectionNames||IniRenameSection||IniWrite||IniWriteSection||InputBox||Int||IsAdmin||IsArray||IsBinary||IsBool||IsDeclared||IsDllStruct||IsFloat||IsFunc||IsHWnd||IsInt||IsKeyword||IsNumber||IsObj||IsPtr||IsString||Log||MemGetStats||Mod||MouseClick||MouseClickDrag||MouseDown||MouseGetCursor||MouseGetPos||MouseMove||MouseUp||MouseWheel||MsgBox||Number||ObjCreate||ObjCreateInterface||ObjEvent||ObjGet||ObjName||OnAutoItExitRegister||OnAutoItExitUnRegister||Ping||PixelChecksum||PixelGetColor||PixelSearch||ProcessClose||ProcessExists||ProcessGetStats||ProcessList||ProcessSetPriority||ProcessWait||ProcessWaitClose||ProgressOff||ProgressOn||ProgressSet||Ptr||Random||RegDelete||RegEnumKey||RegEnumVal||RegRead||RegWrite||Round||Run||RunAs||RunAsWait||RunWait||Send||SendKeepActive||SetError||SetExtended||ShellExecute||ShellExecuteWait||Shutdown||Sin||Sleep||SoundPlay||SoundSetWaveVolume||SplashImageOn||SplashOff||SplashTextOn||Sqrt||SRandom||StatusbarGetText||StderrRead'
$AUTOIT_CODES &= '||StdinWrite||StdioClose||StdoutRead||String||StringAddCR||StringCompare||StringFormat||StringFromASCIIArray||StringInStr||StringIsAlNum||StringIsAlpha||StringIsASCII||StringIsDigit||StringIsFloat||StringIsInt||StringIsLower||StringIsSpace||StringIsUpper||StringIsXDigit||StringLeft||StringLen||StringLower||StringMid||StringRegExp||StringRegExpReplace||StringReplace||StringReverse||StringRight||StringSplit||StringStripCR||StringStripWS||StringToASCIIArray||StringToBinary||StringTrimLeft||StringTrimRight||StringUpper||Tan||TCPAccept||TCPCloseSocket||TCPConnect||TCPListen||TCPNameToIP||TCPRecv||TCPSend||TCPShutdown||UDPShutdown||TCPStartup||UDPStartup||TimerDiff||TimerInit||ToolTip||TrayCreateItem||TrayCreateMenu||TrayGetMsg||TrayItemDelete||TrayItemGetHandle||TrayItemGetState||TrayItemGetText||TrayItemSetOnEvent||TrayItemSetState||TrayItemSetText||TraySetClick||TraySetIcon||TraySetOnEvent||TraySetPauseIcon||TraySetState||TraySetToolTip||TrayTip||UBound||UDPBind||UDPCloseSocket||UDPOpen||UDPRecv||UDPSend||VarGetType||WinActivate||WinActive||WinClose||WinExists||WinFlash||WinGetCaretPos||WinGetClassList||WinGetClientSize||WinGetHandle||WinGetPos||WinGetProcess||WinGetState||WinGetText||WinGetTitle||WinKill||WinList||WinMenuSelectItem||WinMinimizeAll||WinMinimizeAllUndo||WinMove||WinSetOnTop||WinSetState||WinSetTitle||WinSetTrans'
$AUTOIT_CODES &= '||WinWait||WinWaitActive||WinWaitClose||WinWaitNotActive'

GUI_Splash()
Create_Temp_Workstation()
GUIDelete($GUI_Splash)
GUI_Workstation()

While 1
    ImportCustomIncludes()
    Local $w_all = GUICtrlRead($GUI_Workstation_WorkArea)
    Local $w_all_one = StringReplace($w_all, @CRLF, " ")
    Local $w_words = StringSplit($w_all_one, " ", 1)
    Local $w_last_word = StringReplace($w_words[$w_words[0]], " ", "")
    Local $w_last_word_length = StringLen($w_last_word)
    If $w_last_word == "" Then GUICtrlSetData($GUI_Workstation_Suggestions, "")
    If $w_last_word == "" Then ContinueLoop
    $AUTOIT_CODE = StringSplit($AUTOIT_CODES, "||", 1)
    $AUTOIT_SUGGESTIONS = ""
    For $aic = 1 To $AUTOIT_CODE[0]
        $w_autoit_matcher = StringMid($AUTOIT_CODE[$aic], 1, $w_last_word_length)
        If StringLower($w_last_word) == StringLower($w_autoit_matcher) Then
            $AUTOIT_SUGGESTIONS &= $AUTOIT_CODE[$aic] & @CRLF
        EndIf
    Next
    If GUICtrlRead($GUI_Workstation_Suggestions) == $AUTOIT_SUGGESTIONS Then ContinueLoop
    GUICtrlSetData($GUI_Workstation_Suggestions, $AUTOIT_SUGGESTIONS)
    Sleep(100)
WEnd

Func GUI_Splash()
    If Not FileExists($DIR_TEMP) Then DirCreate($DIR_TEMP)
    FileInstall("C:\AIP\splash.gif", $DIR_TEMP & "\splash.gif", 0)
    Global $GUI_Splash = GUICreate("Starting AutoIt Portable", 401, 257, 192, 124)
    GUISetBkColor(0xFFFFFF)
    Global $splash_image = GUICtrlCreatePic($IMG_Splash, 0, 0, 400, 250)
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "Close_Spash", $GUI_Splash)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Close_Spash", $GUI_Splash)
    GUISetState(@SW_SHOW)
EndFunc

Func GUI_Workstation()
    Global $GUI_Workstation = GUICreate("AutoIt Portable Workstation", 801, 431, 181, 90)
    Global $File_Menu_File = GUICtrlCreateMenu("&File")
    Global $File_Menu_New = GUICtrlCreateMenuItem("New File", $File_Menu_File)
    Global $File_Menu_Open = GUICtrlCreateMenuItem("Open File", $File_Menu_File)
    Global $File_Menu_Save = GUICtrlCreateMenuItem("Save File", $File_Menu_File)
    Global $File_Menu_Exit = GUICtrlCreateMenuItem("Exit", $File_Menu_File)
    Global $File_Menu_Options = GUICtrlCreateMenu("&Script Options")
    Global $File_Menu_Runx86 = GUICtrlCreateMenuItem("Run x86", $File_Menu_Options)
    Global $File_Menu_Runx64 = GUICtrlCreateMenuItem("Run x64", $File_Menu_Options)
    Global $File_Menu_Compiler = GUICtrlCreateMenuItem("Run Compiler", $File_Menu_Options)
    Global $File_Menu_Help = GUICtrlCreateMenu("&Help")
    Global $File_Menu_About = GUICtrlCreateMenuItem("About", $File_Menu_Help)
    GUISetFont(9, 400, 0, "Arial")
    GUISetBkColor(0xB9D1EA)
    Global $GUI_Workstation_WorkArea = GUICtrlCreateEdit(@CRLF & 'MsgBox(0, "Welcome Note", "Thank you for using AutoIt Portable!")' & @CRLF, 200, 0, 600, 409, BitOR($ES_AUTOVSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
    GUICtrlSetColor(-1, 0x000000)
    Global $GUI_Workstation_Suggestions = GUICtrlCreateEdit("", 0, 24, 201, 385, BitOR($ES_AUTOVSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL))
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0xD7E4F2)
    Local $Label1 = GUICtrlCreateLabel("Code Suggestions:", 3, 5, 110, 19)
    GUICtrlSetFont(-1, 9, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetOnEvent($File_Menu_New, "GUI_File_New")
    GUICtrlSetOnEvent($File_Menu_Open, "GUI_File_Open")
    GUICtrlSetOnEvent($File_Menu_Save, "GUI_File_Save")
    GUICtrlSetOnEvent($File_Menu_Exit, "Close_Workstation")
    GUICtrlSetOnEvent($File_Menu_Runx86, "GUI_Run_x86")
    GUICtrlSetOnEvent($File_Menu_Runx64, "GUI_Run_x64")
    GUICtrlSetOnEvent($File_Menu_Compiler, "GUI_Compiler")
    GUICtrlSetOnEvent($File_Menu_About, "GUI_About")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Close_Workstation", $GUI_Workstation)
    GUISetState(@SW_SHOW, $GUI_Workstation)
EndFunc

Func GUI_Compiler()
    Global $GUI_Compiler = GUICreate("AICompiler GUI", 234, 447, 325, 143)
    Local $GUI_Compiler_Label1 = GUICtrlCreateLabel("App Name:", 8, 11, 57, 17)
    Local $GUI_Compiler_Label2 = GUICtrlCreateLabel("App Icon:", 8, 35, 50, 17)
    Local $GUI_Compiler_Label3 = GUICtrlCreateLabel("Product Name:", 8, 59, 75, 17)
    Local $GUI_Compiler_Label4 = GUICtrlCreateLabel("Company Name:", 8, 83, 82, 17)
    Local $GUI_Compiler_Label5 = GUICtrlCreateLabel("Copyright:", 8, 107, 51, 17)
    Local $GUI_Compiler_Label6 = GUICtrlCreateLabel("Trademarks:", 8, 131, 63, 17)
    Local $GUI_Compiler_Label7 = GUICtrlCreateLabel("File Version:", 8, 155, 61, 17)
    Local $GUI_Compiler_Label8 = GUICtrlCreateLabel("Product Version:", 8, 179, 82, 17)
    Local $GUI_Compiler_Label9 = GUICtrlCreateLabel("Description:", 8, 203, 60, 17)
    Local $GUI_Compiler_Label10 = GUICtrlCreateLabel("Comment:", 8, 227, 51, 17)
    Local $GUI_Compiler_Label11 = GUICtrlCreateLabel("Ignore Directives:", 8, 251, 87, 17)
    Local $GUI_Compiler_Label12 = GUICtrlCreateLabel("Compile For:", 8, 275, 62, 17)
    Local $GUI_Compiler_Label13 = GUICtrlCreateLabel("Compression:", 8, 299, 67, 17)
    Local $GUI_Compiler_Label14 = GUICtrlCreateLabel("Comp. w/ UPX:", 8, 323, 78, 17)
    Local $GUI_Compiler_Label15 = GUICtrlCreateLabel("Execution Level:", 8, 347, 83, 17)
    Local $GUI_Compiler_Label16 = GUICtrlCreateLabel("Compatibility:", 8, 371, 65, 17)
    Local $GUI_Compiler_Label17 = GUICtrlCreateLabel("App Type:", 8, 395, 53, 17)
    Global $GUI_Compiler_OutputFile = GUICtrlCreateInput("My App", 72, 8, 153, 21)
    Global $GUI_Compiler_IconFile = GUICtrlCreateInput($FILE_icon, 72, 32, 105, 21)
    Global $GUI_Compiler_LoadIcon_Button = GUICtrlCreateButton("Load", 184, 32, 43, 21)
    Global $GUI_Compiler_ProductName = GUICtrlCreateInput("", 88, 56, 137, 21)
    Global $GUI_Compiler_CompanyName = GUICtrlCreateInput("", 88, 80, 137, 21)
    Global $GUI_Compiler_Copyright = GUICtrlCreateInput("", 72, 104, 153, 21)
    Global $GUI_Compiler_Trademarks = GUICtrlCreateInput("", 72, 128, 153, 21)
    Global $GUI_Compiler_FileVersion = GUICtrlCreateInput("", 88, 152, 137, 21)
    Global $GUI_Compiler_ProductVersion = GUICtrlCreateInput("", 88, 176, 137, 21)
    Global $GUI_Compiler_Description = GUICtrlCreateInput("", 72, 200, 153, 21)
    Global $GUI_Compiler_Comment = GUICtrlCreateInput("", 72, 224, 153, 21)
    Global $GUI_Compiler_IgnoreDirectives = GUICtrlCreateCheckbox("Ignore", 120, 248, 65, 17)
    Global $GUI_Compiler_x86 = GUICtrlCreateCheckbox("x86", 120, 273, 49, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    Global $GUI_Compiler_x64 = GUICtrlCreateCheckbox("x64", 176, 273, 49, 17)
    Global $GUI_Compiler_Compression = GUICtrlCreateCombo("None", 88, 296, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_Compression, "Low|Medium|High|Highest", "None")
    Global $GUI_Compiler_UPXCompression = GUICtrlCreateCombo("Dont Compress", 88, 320, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_UPXCompression, "Compress", "Dont Compress")
    Global $GUI_Compiler_ExecutionLevel = GUICtrlCreateCombo("None", 88, 344, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_ExecutionLevel, "AsInvoker|Highest Avail|Require Admin", "None")
    Global $GUI_Compiler_Compatibility = GUICtrlCreateCombo("All", 88, 368, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_Compatibility, "Windows Vista|Windows 7|Windows 8", "All")
    Global $GUI_Compiler_AppType = GUICtrlCreateCombo("Default", 88, 392, 137, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($GUI_Compiler_AppType, "GUI|Console", "Default")
    Global $GUI_Compiler_Compile_Button = GUICtrlCreateButton("Compile", 136, 416, 91, 25)
    GUICtrlSetOnEvent($GUI_Compiler_LoadIcon_Button, "Compiler")
    GUICtrlSetOnEvent($GUI_Compiler_Compile_Button, "Compiler")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Close_Compiler", $GUI_Compiler)
    GUISetState(@SW_SHOW, $GUI_Compiler)
EndFunc

Func Close_Spash()
    TrayTip("AIP Response", "Please wait for AIP to finish initializing", 6)
EndFunc

Func GUI_File_New()
    GUICtrlSetData($GUI_Workstation_WorkArea, "")
EndFunc

Func GUI_File_Open()
    Local $f_open_script = FileOpenDialog("Open AutoIt Script", @ScriptDir, "au3 (*.au3)|All (*.*)", 1, $Last_Opened, $GUI_Workstation)
    $Last_Opened = StringTrimLeft($f_open_script, StringInStr($f_open_script, "\", $STR_NOCASESENSE, -1))
    Local $f_open_script_Script = FileRead($f_open_script)
    GUICtrlSetData($GUI_Workstation_WorkArea, $f_open_script_Script)
EndFunc

Func GUI_File_Save()
    Local $f_save_script = FileSaveDialog("Save AutoIt Script", @ScriptDir, "au3 (*.au3)|All (*.*)", 0, $Last_Opened, $GUI_Workstation)
    $Last_Opened = StringTrimLeft($f_save_script, StringInStr($f_save_script, "\", $STR_NOCASESENSE, -1))
    Local $f_script = GUICtrlRead($GUI_Workstation_WorkArea)
    If FileExists($f_save_script) Then FileDelete($f_save_script)
    _FileCreate($f_save_script)
    Local $f_save_script_Open = FileOpen($f_save_script, $FO_APPEND)
    FileWrite($f_save_script_Open, $f_script)
    FileClose($f_save_script_Open)
EndFunc

Func GUI_Run_x86()
    Local $f_script = GUICtrlRead($GUI_Workstation_WorkArea)
    If FileExists($FILE_TEMP_EXE) Then FileDelete($FILE_TEMP_EXE)
    If FileExists($FILE_TEMP) Then FileDelete($FILE_TEMP)
    _FileCreate($FILE_TEMP)
    Local $FILE_TEMP_Open = FileOpen($FILE_TEMP, $FO_APPEND)
    FileWrite($FILE_TEMP_Open, $f_script)
    FileClose($FILE_TEMP_Open)
    RunWait($DIR_TEMP & '/Aut2exe.exe /in "' & $FILE_TEMP & '" /out "' & $FILE_TEMP_EXE & '" /icon "' & $FILE_icon & '" /comp 0 /nopack /x86')
    FileDelete($FILE_TEMP)
    Run($FILE_TEMP_EXE)
EndFunc

Func GUI_Run_x64()
    Local $f_script = GUICtrlRead($GUI_Workstation_WorkArea)
    If FileExists($FILE_TEMP_EXE) Then FileDelete($FILE_TEMP_EXE)
    If FileExists($FILE_TEMP) Then FileDelete($FILE_TEMP)
    _FileCreate($FILE_TEMP)
    Local $FILE_TEMP_Open = FileOpen($FILE_TEMP, $FO_APPEND)
    FileWrite($FILE_TEMP_Open, $f_script)
    FileClose($FILE_TEMP_Open)
    RunWait($DIR_TEMP & '/Aut2exe.exe /in "' & $FILE_TEMP & '" /out "' & $FILE_TEMP_EXE & '" /icon "' & $FILE_icon & '" /comp 0 /nopack /x64')
    FileDelete($FILE_TEMP)
    Run($FILE_TEMP_EXE)
EndFunc

Func GUI_About()
    MsgBox(0, "About AIP", "AutoIt Portable was made by zelles to help people who need AutoIt on the fly." & @CRLF & "Currently running version: 0.0.1")
EndFunc

Func Close_Workstation()
    GUIDelete($GUI_Workstation)
    If FileExists($DIR_TEMP) Then DirRemove($DIR_TEMP, 1)
    Exit
EndFunc

Func Compiler($f_data)
    ; Unintergrated commands: /ansi /unicode /originalfilename "" /internalname ""
    If Not FileExists($DIR_complier_output) Then DirCreate($DIR_complier_output)
    Local $f_script = GUICtrlRead($GUI_Workstation_WorkArea)
    If FileExists($FILE_TEMP) Then FileDelete($FILE_TEMP)
    _FileCreate($FILE_TEMP)
    Local $FILE_TEMP_Open = FileOpen($FILE_TEMP, $FO_APPEND)
    FileWrite($FILE_TEMP_Open, $f_script)
    FileClose($FILE_TEMP_Open)
    Local $Compiler_Script_x86 = $DIR_TEMP & '/Aut2exe.exe'
    Local $Compiler_Script_x64 = $DIR_TEMP & '/Aut2exe.exe'
    $Compiler_Script_x86 &= ' /in "' & $FILE_TEMP & '"'
    $Compiler_Script_x64 &= ' /in "' & $FILE_TEMP & '"'
    Local $f_OutputFile = GUICtrlRead($GUI_Compiler_OutputFile)
    $Compiler_Script_x86 &= ' /out "' & $DIR_complier_output & '\' & $f_OutputFile & ' x86.exe"'
    $Compiler_Script_x64 &= ' /out "' & $DIR_complier_output & '\' & $f_OutputFile & ' x64.exe"'
    Switch GUICtrlRead($GUI_Compiler_IconFile)
        Case ""
            $Compiler_Script_x86 &= ' /icon "' & $FILE_icon & '"'
            $Compiler_Script_x64 &= ' /icon "' & $FILE_icon & '"'
        Case Else
            If FileExists(GUICtrlRead($GUI_Compiler_IconFile)) Then
                $Compiler_Script_x86 &= ' /icon "' & GUICtrlRead($GUI_Compiler_IconFile) & '"'
                $Compiler_Script_x64 &= ' /icon "' & GUICtrlRead($GUI_Compiler_IconFile) & '"'
            Else
                $Compiler_Script_x86 &= ' /icon "' & $FILE_icon & '"'
                $Compiler_Script_x64 &= ' /icon "' & $FILE_icon & '"'
            EndIf
    EndSwitch
    $Compiler_Script_x86 &= ' /x86'
    $Compiler_Script_x64 &= ' /x64'
    Switch GUICtrlRead($GUI_Compiler_Compression)
        Case "None"
            $Compiler_Script_x86 &= ' /comp 0'
            $Compiler_Script_x64 &= ' /comp 0'
        Case "Low"
            $Compiler_Script_x86 &= ' /comp 1'
            $Compiler_Script_x64 &= ' /comp 1'
        Case "Medium"
            $Compiler_Script_x86 &= ' /comp 2'
            $Compiler_Script_x64 &= ' /comp 2'
        Case "High"
            $Compiler_Script_x86 &= ' /comp 3'
            $Compiler_Script_x64 &= ' /comp 3'
        Case "Highest"
            $Compiler_Script_x86 &= ' /comp 4'
            $Compiler_Script_x64 &= ' /comp 4'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_IgnoreDirectives)
        Case $GUI_CHECKED
            $Compiler_Script_x86 &= ' /ignoredirectives'
            $Compiler_Script_x64 &= ' /ignoredirectives'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_UPXCompression)
        Case "Dont Compress"
            $Compiler_Script_x86 &= ' /nopack'
            $Compiler_Script_x64 &= ' /nopack'
        Case "Compress"
            $Compiler_Script_x86 &= ' /pack'
            $Compiler_Script_x64 &= ' /pack'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_AppType)
        Case "GUI"
            $Compiler_Script_x86 &= ' /gui'
            $Compiler_Script_x64 &= ' /gui'
        Case "Console"
            $Compiler_Script_x86 &= ' /console'
            $Compiler_Script_x64 &= ' /console'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_ExecutionLevel)
        Case "None"
            $Compiler_Script_x86 &= ' /execlevel none'
            $Compiler_Script_x64 &= ' /execlevel none'
        Case "AsInvoker"
            $Compiler_Script_x86 &= ' /execlevel asinvoker'
            $Compiler_Script_x64 &= ' /execlevel asinvoker'
        Case "Highest Avail"
            $Compiler_Script_x86 &= ' /execlevel highestavailable'
            $Compiler_Script_x64 &= ' /execlevel highestavailable'
        Case "Require Admin"
            $Compiler_Script_x86 &= ' /execlevel requireadministrator'
            $Compiler_Script_x64 &= ' /execlevel requireadministrator'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Compatibility)
        Case "Windows Vista"
            $Compiler_Script_x86 &= ' /compatibility vista'
            $Compiler_Script_x64 &= ' /compatibility vista'
        Case "Windows 7"
            $Compiler_Script_x86 &= ' /compatibility win7'
            $Compiler_Script_x64 &= ' /compatibility win7'
        Case "Windows 8"
            $Compiler_Script_x86 &= ' /compatibility win8'
            $Compiler_Script_x64 &= ' /compatibility win8'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Comment)
        Case ""
            $Compiler_Script_x86 &= ' /comments "Compiled with AutoIt Portable by zelles."'
            $Compiler_Script_x64 &= ' /comments "Compiled with AutoIt Portable by zelles."'
        Case Else
            $Compiler_Script_x86 &= ' /comments "' & GUICtrlRead($GUI_Compiler_Comment) & '"'
            $Compiler_Script_x64 &= ' /comments "' & GUICtrlRead($GUI_Compiler_Comment) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_CompanyName)
        Case ""
            $Compiler_Script_x86 &= ' /companyname "None"'
            $Compiler_Script_x64 &= ' /companyname "None"'
        Case Else
            $Compiler_Script_x86 &= ' /companyname "' & GUICtrlRead($GUI_Compiler_CompanyName) & '"'
            $Compiler_Script_x64 &= ' /companyname "' & GUICtrlRead($GUI_Compiler_CompanyName) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Description)
        Case ""
            $Compiler_Script_x86 &= ' /filedescription "None"'
            $Compiler_Script_x64 &= ' /filedescription "None"'
        Case Else
            $Compiler_Script_x86 &= ' /filedescription "' & GUICtrlRead($GUI_Compiler_Description) & '"'
            $Compiler_Script_x64 &= ' /filedescription "' & GUICtrlRead($GUI_Compiler_Description) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Copyright)
        Case ""
            $Compiler_Script_x86 &= ' /legalcopyright ' & @YEAR
            $Compiler_Script_x64 &= ' /legalcopyright ' & @YEAR
        Case Else
            $Compiler_Script_x86 &= ' /legalcopyright "' & GUICtrlRead($GUI_Compiler_Copyright) & '"'
            $Compiler_Script_x64 &= ' /legalcopyright "' & GUICtrlRead($GUI_Compiler_Copyright) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_Trademarks)
        Case ""
            $nothing = 0
        Case Else
            $Compiler_Script_x86 &= ' /legaltrademarks "' & GUICtrlRead($GUI_Compiler_Trademarks) & '"'
            $Compiler_Script_x64 &= ' /legaltrademarks "' & GUICtrlRead($GUI_Compiler_Trademarks) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_ProductName)
        Case ""
            $nothing = 0
        Case Else
            $Compiler_Script_x86 &= ' /productname "' & GUICtrlRead($GUI_Compiler_ProductName) & '"'
            $Compiler_Script_x64 &= ' /productname "' & GUICtrlRead($GUI_Compiler_ProductName) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_FileVersion)
        Case ""
            $Compiler_Script_x86 &= ' /fileversion "0.0.0.1"'
            $Compiler_Script_x64 &= ' /fileversion "0.0.0.1"'
        Case Else
            $Compiler_Script_x86 &= ' /fileversion "' & GUICtrlRead($GUI_Compiler_FileVersion) & '"'
            $Compiler_Script_x64 &= ' /fileversion "' & GUICtrlRead($GUI_Compiler_FileVersion) & '"'
    EndSwitch
    Switch GUICtrlRead($GUI_Compiler_ProductVersion)
        Case ""
            $Compiler_Script_x86 &= ' /productversion "3.3.12.0"'
            $Compiler_Script_x64 &= ' /productversion "3.3.12.0"'
        Case Else
            $Compiler_Script_x86 &= ' /productversion "' & GUICtrlRead($GUI_Compiler_ProductVersion) & '"'
            $Compiler_Script_x64 &= ' /productversion "' & GUICtrlRead($GUI_Compiler_ProductVersion) & '"'
    EndSwitch

    If GUICtrlRead($GUI_Compiler_x86) = $GUI_CHECKED Then
        RunWait($Compiler_Script_x86)
    EndIf
    If GUICtrlRead($GUI_Compiler_x64) = $GUI_CHECKED Then
        RunWait($Compiler_Script_x64)
    EndIf
    FileDelete($FILE_TEMP)
    GUIDelete($GUI_Compiler)
    MsgBox(0, "AIP Response", "The compiler is finished. Check script directory for files.")
EndFunc

Func Close_Compiler()
    GUIDelete($GUI_Compiler)
EndFunc

Func ImportCustomIncludes()
    If Not FileExists(@ScriptDir & "\custom-includes") Then DirCreate(@ScriptDir & "\custom-includes")
    Local $Importer = FileFindFirstFile(@ScriptDir & "\custom-includes\*.au3")
    Local $IncludeFile = ""
    While 1
        $IncludeFile = FileFindNextFile($Importer)
        If @error Then ExitLoop
        If FileExists($DIR_includes & "\" & $IncludeFile) Then ContinueLoop
        FileCopy(@ScriptDir & "\custom-includes\" & $IncludeFile, $DIR_includes & "\" & $IncludeFile)
        $AUTOIT_CODES &= '<' & $IncludeFile & '>'
    WEnd
EndFunc

Func Create_Temp_Workstation()
    If Not FileExists($DIR_TEMP) Then DirCreate($DIR_TEMP)
    If Not FileExists($DIR_includes) Then DirCreate($DIR_includes)
    FileInstall("C:\AIP\Icon.ico", $DIR_TEMP & "\Icon.ico", 0)
    FileInstall("C:\AIP\Aut2exe.exe", $DIR_TEMP & "\Aut2exe.exe", 0)
    FileInstall("C:\AIP\upx.exe", $DIR_TEMP & "\upx.exe", 0)
    FileInstall("C:\AIP\includes\APIComConstants.au3", $DIR_includes & "\APIComConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIConstants.au3", $DIR_includes & "\APIConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIDiagConstants.au3", $DIR_includes & "\APIDiagConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIDlgConstants.au3", $DIR_includes & "\APIDlgConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIErrorsConstants.au3", $DIR_includes & "\APIErrorsConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIFilesConstants.au3", $DIR_includes & "\APIFilesConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIGdiConstants.au3", $DIR_includes & "\APIGdiConstants.au3", 0)
    FileInstall("C:\AIP\includes\APILocaleConstants.au3", $DIR_includes & "\APILocaleConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIMiscConstants.au3", $DIR_includes & "\APIMiscConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIProcConstants.au3", $DIR_includes & "\APIProcConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIRegConstants.au3", $DIR_includes & "\APIRegConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIResConstants.au3", $DIR_includes & "\APIResConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIShellExConstants.au3", $DIR_includes & "\APIShellExConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIShPathConstants.au3", $DIR_includes & "\APIShPathConstants.au3", 0)
    FileInstall("C:\AIP\includes\APISysConstants.au3", $DIR_includes & "\APISysConstants.au3", 0)
    FileInstall("C:\AIP\includes\APIThemeConstants.au3", $DIR_includes & "\APIThemeConstants.au3", 0)
    FileInstall("C:\AIP\includes\Array.au3", $DIR_includes & "\Array.au3", 0)
    FileInstall("C:\AIP\includes\AutoItConstants.au3", $DIR_includes & "\AutoItConstants.au3", 0)
    FileInstall("C:\AIP\includes\AVIConstants.au3", $DIR_includes & "\AVIConstants.au3", 0)
    FileInstall("C:\AIP\includes\BorderConstants.au3", $DIR_includes & "\BorderConstants.au3", 0)
    FileInstall("C:\AIP\includes\ButtonConstants.au3", $DIR_includes & "\ButtonConstants.au3", 0)
    FileInstall("C:\AIP\includes\Clipboard.au3", $DIR_includes & "\Clipboard.au3", 0)
    FileInstall("C:\AIP\includes\Color.au3", $DIR_includes & "\Color.au3", 0)
    FileInstall("C:\AIP\includes\ColorConstants.au3", $DIR_includes & "\ColorConstants.au3", 0)
    FileInstall("C:\AIP\includes\ComboConstants.au3", $DIR_includes & "\ComboConstants.au3", 0)
    FileInstall("C:\AIP\includes\Constants.au3", $DIR_includes & "\Constants.au3", 0)
    FileInstall("C:\AIP\includes\Crypt.au3", $DIR_includes & "\Crypt.au3", 0)
    FileInstall("C:\AIP\includes\Date.au3", $DIR_includes & "\Date.au3", 0)
    FileInstall("C:\AIP\includes\DateTimeConstants.au3", $DIR_includes & "\DateTimeConstants.au3", 0)
    FileInstall("C:\AIP\includes\Debug.au3", $DIR_includes & "\Debug.au3", 0)
    FileInstall("C:\AIP\includes\DirConstants.au3", $DIR_includes & "\DirConstants.au3", 0)
    FileInstall("C:\AIP\includes\EditConstants.au3", $DIR_includes & "\EditConstants.au3", 0)
    FileInstall("C:\AIP\includes\EventLog.au3", $DIR_includes & "\EventLog.au3", 0)
    FileInstall("C:\AIP\includes\Excel.au3", $DIR_includes & "\Excel.au3", 0)
    FileInstall("C:\AIP\includes\ExcelConstants.au3", $DIR_includes & "\ExcelConstants.au3", 0)
    FileInstall("C:\AIP\includes\File.au3", $DIR_includes & "\File.au3", 0)
    FileInstall("C:\AIP\includes\FileConstants.au3", $DIR_includes & "\FileConstants.au3", 0)
    FileInstall("C:\AIP\includes\FontConstants.au3", $DIR_includes & "\FontConstants.au3", 0)
    FileInstall("C:\AIP\includes\FrameConstants.au3", $DIR_includes & "\FrameConstants.au3", 0)
    FileInstall("C:\AIP\includes\FTPEx.au3", $DIR_includes & "\FTPEx.au3", 0)
    FileInstall("C:\AIP\includes\GDIPlus.au3", $DIR_includes & "\GDIPlus.au3", 0)
    FileInstall("C:\AIP\includes\GDIPlusConstants.au3", $DIR_includes & "\GDIPlusConstants.au3", 0)
    FileInstall("C:\AIP\includes\GuiAVI.au3", $DIR_includes & "\GuiAVI.au3", 0)
    FileInstall("C:\AIP\includes\GuiButton.au3", $DIR_includes & "\GuiButton.au3", 0)
    FileInstall("C:\AIP\includes\GuiComboBox.au3", $DIR_includes & "\GuiComboBox.au3", 0)
    FileInstall("C:\AIP\includes\GuiComboBoxEx.au3", $DIR_includes & "\GuiComboBoxEx.au3", 0)
    FileInstall("C:\AIP\includes\GUIConstants.au3", $DIR_includes & "\GUIConstants.au3", 0)
    FileInstall("C:\AIP\includes\GUIConstantsEx.au3", $DIR_includes & "\GUIConstantsEx.au3", 0)
    FileInstall("C:\AIP\includes\GuiDateTimePicker.au3", $DIR_includes & "\GuiDateTimePicker.au3", 0)
    FileInstall("C:\AIP\includes\GuiEdit.au3", $DIR_includes & "\GuiEdit.au3", 0)
    FileInstall("C:\AIP\includes\GuiHeader.au3", $DIR_includes & "\GuiHeader.au3", 0)
    FileInstall("C:\AIP\includes\GuiImageList.au3", $DIR_includes & "\GuiImageList.au3", 0)
    FileInstall("C:\AIP\includes\GuiIPAddress.au3", $DIR_includes & "\GuiIPAddress.au3", 0)
    FileInstall("C:\AIP\includes\GuiListBox.au3", $DIR_includes & "\GuiListBox.au3", 0)
    FileInstall("C:\AIP\includes\GuiListView.au3", $DIR_includes & "\GuiListView.au3", 0)
    FileInstall("C:\AIP\includes\GuiMenu.au3", $DIR_includes & "\GuiMenu.au3", 0)
    FileInstall("C:\AIP\includes\GuiMonthCal.au3", $DIR_includes & "\GuiMonthCal.au3", 0)
    FileInstall("C:\AIP\includes\GuiReBar.au3", $DIR_includes & "\GuiReBar.au3", 0)
    FileInstall("C:\AIP\includes\GuiRichEdit.au3", $DIR_includes & "\GuiRichEdit.au3", 0)
    FileInstall("C:\AIP\includes\GuiScrollBars.au3", $DIR_includes & "\GuiScrollBars.au3", 0)
    FileInstall("C:\AIP\includes\GuiSlider.au3", $DIR_includes & "\GuiSlider.au3", 0)
    FileInstall("C:\AIP\includes\GuiStatusBar.au3", $DIR_includes & "\GuiStatusBar.au3", 0)
    FileInstall("C:\AIP\includes\GuiTab.au3", $DIR_includes & "\GuiTab.au3", 0)
    FileInstall("C:\AIP\includes\GuiToolbar.au3", $DIR_includes & "\GuiToolbar.au3", 0)
    FileInstall("C:\AIP\includes\GuiToolTip.au3", $DIR_includes & "\GuiToolTip.au3", 0)
    FileInstall("C:\AIP\includes\GuiTreeView.au3", $DIR_includes & "\GuiTreeView.au3", 0)
    FileInstall("C:\AIP\includes\HeaderConstants.au3", $DIR_includes & "\HeaderConstants.au3", 0)
    FileInstall("C:\AIP\includes\IE.au3", $DIR_includes & "\IE.au3", 0)
    FileInstall("C:\AIP\includes\ImageListConstants.au3", $DIR_includes & "\ImageListConstants.au3", 0)
    FileInstall("C:\AIP\includes\Inet.au3", $DIR_includes & "\Inet.au3", 0)
    FileInstall("C:\AIP\includes\InetConstants.au3", $DIR_includes & "\InetConstants.au3", 0)
    FileInstall("C:\AIP\includes\IPAddressConstants.au3", $DIR_includes & "\IPAddressConstants.au3", 0)
    FileInstall("C:\AIP\includes\ListBoxConstants.au3", $DIR_includes & "\ListBoxConstants.au3", 0)
    FileInstall("C:\AIP\includes\ListViewConstants.au3", $DIR_includes & "\ListViewConstants.au3", 0)
    FileInstall("C:\AIP\includes\Math.au3", $DIR_includes & "\Math.au3", 0)
    FileInstall("C:\AIP\includes\Memory.au3", $DIR_includes & "\Memory.au3", 0)
    FileInstall("C:\AIP\includes\MemoryConstants.au3", $DIR_includes & "\MemoryConstants.au3", 0)
    FileInstall("C:\AIP\includes\MenuConstants.au3", $DIR_includes & "\MenuConstants.au3", 0)
    FileInstall("C:\AIP\includes\Misc.au3", $DIR_includes & "\Misc.au3", 0)
    FileInstall("C:\AIP\includes\MsgBoxConstants.au3", $DIR_includes & "\MsgBoxConstants.au3", 0)
    FileInstall("C:\AIP\includes\NamedPipes.au3", $DIR_includes & "\NamedPipes.au3", 0)
    FileInstall("C:\AIP\includes\NetShare.au3", $DIR_includes & "\NetShare.au3", 0)
    FileInstall("C:\AIP\includes\NTSTATUSConstants.au3", $DIR_includes & "\NTSTATUSConstants.au3", 0)
    FileInstall("C:\AIP\includes\Process.au3", $DIR_includes & "\Process.au3", 0)
    FileInstall("C:\AIP\includes\ProcessConstants.au3", $DIR_includes & "\ProcessConstants.au3", 0)
    FileInstall("C:\AIP\includes\ProgressConstants.au3", $DIR_includes & "\ProgressConstants.au3", 0)
    FileInstall("C:\AIP\includes\RebarConstants.au3", $DIR_includes & "\RebarConstants.au3", 0)
    FileInstall("C:\AIP\includes\RichEditConstants.au3", $DIR_includes & "\RichEditConstants.au3", 0)
    FileInstall("C:\AIP\includes\ScreenCapture.au3", $DIR_includes & "\ScreenCapture.au3", 0)
    FileInstall("C:\AIP\includes\ScrollBarConstants.au3", $DIR_includes & "\ScrollBarConstants.au3", 0)
    FileInstall("C:\AIP\includes\ScrollBarsConstants.au3", $DIR_includes & "\ScrollBarsConstants.au3", 0)
    FileInstall("C:\AIP\includes\Security.au3", $DIR_includes & "\Security.au3", 0)
    FileInstall("C:\AIP\includes\SecurityConstants.au3", $DIR_includes & "\SecurityConstants.au3", 0)
    FileInstall("C:\AIP\includes\SendMessage.au3", $DIR_includes & "\SendMessage.au3", 0)
    FileInstall("C:\AIP\includes\SliderConstants.au3", $DIR_includes & "\SendMessage.au3", 0)
    FileInstall("C:\AIP\includes\Sound.au3", $DIR_includes & "\Sound.au3", 0)
    FileInstall("C:\AIP\includes\SQLite.au3", $DIR_includes & "\SQLite.au3", 0)
    FileInstall("C:\AIP\includes\SQLite.dll.au3", $DIR_includes & "\SQLite.dll.au3", 0)
    FileInstall("C:\AIP\includes\StaticConstants.au3", $DIR_includes & "\StaticConstants.au3", 0)
    FileInstall("C:\AIP\includes\StatusBarConstants.au3", $DIR_includes & "\StatusBarConstants.au3", 0)
    FileInstall("C:\AIP\includes\String.au3", $DIR_includes & "\String.au3", 0)
    FileInstall("C:\AIP\includes\StringConstants.au3", $DIR_includes & "\StringConstants.au3", 0)
    FileInstall("C:\AIP\includes\StructureConstants.au3", $DIR_includes & "\StructureConstants.au3", 0)
    FileInstall("C:\AIP\includes\TabConstants.au3", $DIR_includes & "\TabConstants.au3", 0)
    FileInstall("C:\AIP\includes\Timers.au3", $DIR_includes & "\Timers.au3", 0)
    FileInstall("C:\AIP\includes\ToolbarConstants.au3", $DIR_includes & "\ToolbarConstants.au3", 0)
    FileInstall("C:\AIP\includes\ToolTipConstants.au3", $DIR_includes & "\ToolTipConstants.au3", 0)
    FileInstall("C:\AIP\includes\TrayConstants.au3", $DIR_includes & "\TrayConstants.au3", 0)
    FileInstall("C:\AIP\includes\TreeViewConstants.au3", $DIR_includes & "\TreeViewConstants.au3", 0)
    FileInstall("C:\AIP\includes\UDFGlobalID.au3", $DIR_includes & "\UDFGlobalID.au3", 0)
    FileInstall("C:\AIP\includes\UpDownConstants.au3", $DIR_includes & "\UpDownConstants.au3", 0)
    FileInstall("C:\AIP\includes\Visa.au3", $DIR_includes & "\Visa.au3", 0)
    FileInstall("C:\AIP\includes\WinAPI.au3", $DIR_includes & "\WinAPI.au3", 0)
    FileInstall("C:\AIP\includes\WinAPICom.au3", $DIR_includes & "\WinAPICom.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIConstants.au3", $DIR_includes & "\WinAPIConstants.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIDiag.au3", $DIR_includes & "\WinAPIDiag.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIDlg.au3", $DIR_includes & "\WinAPIDlg.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIError.au3", $DIR_includes & "\WinAPIError.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIEx.au3", $DIR_includes & "\WinAPIEx.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIFiles.au3", $DIR_includes & "\WinAPIFiles.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIGdi.au3", $DIR_includes & "\WinAPIGdi.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIInternals.au3", $DIR_includes & "\WinAPIInternals.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIlangConstants.au3", $DIR_includes & "\WinAPIlangConstants.au3", 0)
    FileInstall("C:\AIP\includes\WinAPILocale.au3", $DIR_includes & "\WinAPILocale.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIMisc.au3", $DIR_includes & "\WinAPIMisc.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIProc.au3", $DIR_includes & "\WinAPIProc.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIReg.au3", $DIR_includes & "\WinAPIReg.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIRes.au3", $DIR_includes & "\WinAPIRes.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIShellEx.au3", $DIR_includes & "\WinAPIShellEx.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIShPath.au3", $DIR_includes & "\WinAPIShPath.au3", 0)
    FileInstall("C:\AIP\includes\WinAPISys.au3", $DIR_includes & "\WinAPISys.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIsysinfoConstants.au3", $DIR_includes & "\WinAPIsysinfoConstants.au3", 0)
    FileInstall("C:\AIP\includes\WinAPITheme.au3", $DIR_includes & "\WinAPITheme.au3", 0)
    FileInstall("C:\AIP\includes\WinAPIvkeysConstants.au3", $DIR_includes & "\WinAPIvkeysConstants.au3", 0)
    FileInstall("C:\AIP\includes\WindowsConstants.au3", $DIR_includes & "\WindowsConstants.au3", 0)
    FileInstall("C:\AIP\includes\WinNet.au3", $DIR_includes & "\WinNet.au3", 0)
    FileInstall("C:\AIP\includes\Word.au3", $DIR_includes & "\Word.au3", 0)
    FileInstall("C:\AIP\includes\WordConstants.au3", $DIR_includes & "\WordConstants.au3", 0)
EndFunc

Version 0.0.4 Download:

Windows binaries and source code can be found at https://github.com/zelles/AutoIt-Portable

Link to post
Share on other sites

Your binary is redistributing AutoIt and the UDFs, why? Even Jos and I don't do that for our Portable flavours (mine is now outdated since SciTE and all tools are portable). Secondly, you're loops are declaring variables and you're using Global inside functions, which in itself is going to cause you problems at a later stage.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to post
Share on other sites

Your binary is redistributing AutoIt and the UDFs, why? Even Jos and I don't do that for our Portable flavours (mine is now outdated since SciTE and all tools are portable). Secondly, you're loops are declaring variables and you're using Global inside functions, which in itself is going to cause you problems at a later stage.

 

It only packs AutoIt2exe.exe, upx.exe and basic UDF's... Most of the AutoIt files are not needed. Also it doesn't write all the extra junk in the registry.

Link to post
Share on other sites
  • Moderators

I'm with Jos, and would love to see examples of all the "extra junk" in the registry you keep referring to, if you're using the zip files.

Edited by JLogan3o13

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Hermes
      Hi, I am struggling in setting the value of a textarea based on the value of clipboard (that contains a long web page source codes). If I use _WD_SetElementValue, it freezes after some time, or appears to be pressing tab and goes out of focus. I can also use send keys but i need the script to run in the background.
      Here is the full script:
      #Include "Chrome.au3" #Include "wd_core.au3" #Include "wd_helper.au3" #Include "WinHttp.au3" #include <MsgBoxConstants.au3> #include <WinAPIFiles.au3> #include <Array.au3> #include <AutoItConstants.au3> #include <WinAPIFiles.au3> #include <GDIPlus.au3> #include <Excel.au3> Local $sDesiredCapabilities, $sSession SetupChrome() _WD_Startup() $sSession = _WD_CreateSession($sDesiredCapabilities) _WD_LoadWait($sSession) _WD_Navigate($sSession, "http://demo.borland.com/testsite/stadyn_largepagewithimages.html") _WD_LoadWait($sSession) Global $sSource = _WD_GetSource($sSession) Local $Paste = ClipPut($sSource) Local $sData = ClipGet() Local $aArray = 0, _ $iOffset = 1 While 1 $aArray = StringRegExp($sData, '(?s)<p>.*</p>', $STR_REGEXPARRAYMATCH, $iOffset) If @error Then ExitLoop $iOffset = @extended For $i = 0 To UBound($aArray) - 1 Local $Paste = ClipPut($aArray[$i]) Local $sRegExData = ClipGet() ;MsgBox(0, "", "$sRegExData = " & $sRegExData) Next WEnd _WD_Navigate($sSession, "https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_textarea_placeholder") _WD_WaitElement($sSession, $_WD_LOCATOR_ByCSSSelector, "iframe#iframeResult") Local $sElement1 = _WD_FindElement($sSession, $_WD_LOCATOR_ByCSSSelector, "iframe#iframeResult") _WD_FrameEnter($sSession, $sElement1) _WD_WaitElement($sSession, $_WD_LOCATOR_ByXPath, "//html/body/textarea") $textarea = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//html/body/textarea") _WD_ElementAction($sSession, $textarea, 'click') ;WD SetElementValue(SsSession, Stextarea, $sRegExData) <-- I can do this but the focus goes out, or the browser freezes _WD_FrameLeave($sSession) sleep(2000) Send("^v") _WD_LoadWait($sSession) _WD_Shutdown() Func SetupChrome() _WD_Option('Driver', 'chromedriver.exe') _WD_Option('Port', 9515) _WD_Option('DriverParams', '--log-path="' & @ScriptDir & '\chrome.log"') $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"goog:chromeOptions": {"w3c": true, "args":["start-maximized","disable-infobars"]}}}}' EndFunc ;==>SetupChrome Can someone help me please, or re-direct me to the right path? TIA!
    • By DJ143
      I have a autoit exe file which is used in upload/browse file functionality.  This has been integrated with selenium framework and I am invoking the autoit exe using Java process and runtime. 
      Now the issue is when I run the scripts and invoke the autoit exe in local it works perfectly.  But when I use selenium grid or jenkins to run the scripts in another windows server it is not working.
      Can anyone please suggest any solution for this?
    • By Hermes
      Hello, the script below will read column A from an excel file - and if a value matches in the browser, it will click the corresponding link and click on a specific button to paste the data, then writes "Completed" in Column B. It will continue to read from the excel file and do the same thing for all the remaining rows.
      #Include "Chrome.au3" #Include "wd_core.au3" #Include "wd_helper.au3" #Include "WinHttp.au3" #include <MsgBoxConstants.au3> #include <File.au3> #include <IE.au3> #include <Array.au3> #include <INet.au3> #include <AutoItConstants.au3> #include <WinAPIFiles.au3> #include <GDIPlus.au3> #include <Excel.au3> #Include "WinHttp.au3" #Include "_HtmlTable2Array.au3" Local $sDesiredCapabilities, $sSession SetupChrome() _WD_Startup() $sSession = _WD_CreateSession($sDesiredCapabilities) _WD_LoadWait($sSession) _WD_Navigate($sSession, "table1.html") _WD_LoadWait($sSession) _WD_WaitElement($sSession, $_WD_LOCATOR_ByXPath, "//table[@class='main']") Local $sElement = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//table[@class='main']") ;ConsoleWrite ("mat-table " & $sElement & @CRLF) Local $aArray1 = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, ".//td[contains(@class,'data')]", $sElement, True) sleep(1000) For $i = 0 to UBound($aArray1) - 1 $aArray1[$i] = _WD_ElementAction($sSession, $aArray1[$i], 'text') Next ;_ArrayDisplay($aArray1) ;Email variables $SmtpServer = "" ; address for the smtp-server to use - REQUIRED $FromName = "Hermes" ; name from who the email was sent $FromAddress = "sender@gmail.com" ; address from where the mail should come $ToAddress = "recipient@gmail.com" ; destination address of the email - REQUIRED, use commas (,) to add more email addresses $Subject = "File not found" ; subject from the email - can be anything you want it to be $Body = "File not found!" ; the messagebody from the mail - can be left blank but then you get a blank mail $AttachFiles = "" ; the file(s) you want to attach seperated with a ; (Semicolon) - leave blank if not needed $CcAddress = "" ; address for cc - leave blank if not needed $BccAddress = "" ; address for bcc - leave blank if not needed $Importance = "High" ; Send message priority: "High", "Normal", "Low" $Username = "" ; username for the account used from where the mail gets sent - REQUIRED $Password = "" ; password for the account used from where the mail gets sent - REQUIRED $IPPort = 25 ; port used for sending the mail $ssl = 0 ; enables/disables secure socket layer sending - put to 1 if using httpS $tls = 0 ; enables/disables TLS when required Local $oAppl = _Excel_Open() Local $sWorkbook = "c:\test.xlsx" Local $oWorkbook = _Excel_BookOpen($oAppl, $sWorkbook) ;open excel and pass both parameters If FileExists($sWorkbook) Then ;Check if the file exist. Local $oAppl = _Excel_Open() Local $sWorkbook = "c:\test.xlsx" Local $oWorkbook = _Excel_BookOpen($oAppl, $sWorkbook) ;open excel and pass both parameters Local $aArray2 = _Excel_RangeRead($oWorkbook,Default,$oWorkbook.ActiveSheet.Usedrange.Columns("A:A")) Local $iIdx Local $Skipline = 0 ;0==> first line Do Local $temprf For $i = 0 To UBound($aArray2) - 1 $temprf &= $aArray2[$i] _WD_WaitElement($sSession, $_WD_LOCATOR_ByXPath, ".//a[contains(@class,'edit') and contains(text(),'Edit')]") Local $aElement = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, ".//a[contains(@class,'edit') and contains(text(),'Edit')]", $sElement, True) $iIdx = _ArraySearch($aArray1, $aArray2[$i]) If @error Then ContinueLoop _WD_ElementAction($sSession, $aElement[$iIdx], 'click') If $i < $Skipline Then ContinueLoop $oRange = $oWorkbook.ActiveSheet.Range("B" & $i + 1 & ":XFD" & $i + 1) _Excel_RangeCopyPaste($oWorkbook.Activesheet, $oRange) ;Paste Local $oTest4 = _WD_FindElement($sSession, $_WD_LOCATOR_ByCSSSelector, "pastebutton") _WD_ElementAction($sSession, $oTest4, 'click') Sleep(1000) ;Save Button Local $save3 = _WD_FindElement($sSession, $_WD_LOCATOR_ByCSSSelector, "button.button") _WD_ElementAction($sSession, $save3, 'click') _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Completed", "B" & $i+1) sleep(1000) Next Until (Not @error) _Excel_Close($oWorkbook) Else _INetSmtpMailCom($SmtpServer, $FromName, $FromAddress, $ToAddress, $Subject, $Body, $CcAddress, $BccAddress, $Importance, $Username, $Password, $IPPort, $ssl, $tls) Exit EndIf _WD_LoadWait($sSession) ;Attaching files to emails Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_CcAddress = "", $s_BccAddress = "", $s_Importance="Normal", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0, $tls = 0) Local $objEmail = ObjCreate("CDO.Message") $objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>' $objEmail.To = $s_ToAddress Local $i_Error = 0 Local $i_Error_desciption = "" If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress $objEmail.Subject = $s_Subject If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then $objEmail.HTMLBody = $as_Body Else $objEmail.Textbody = $as_Body & @CRLF EndIf $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer If Number($IPPort) = 0 then $IPPort = 25 $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort ;Authenticated SMTP If $s_Username <> "" Then $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password EndIf ; Set security params If $ssl Then $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True If $tls Then $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendtls") = True ;Update settings $objEmail.Configuration.Fields.Update ; Set Email Importance Switch $s_Importance Case "High" $objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "High" Case "Normal" $objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Normal" Case "Low" $objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Low" EndSwitch $objEmail.Fields.Update ; Sent the Message $objEmail.Send $objEmail="" EndFunc ;==>_INetSmtpMailCom Local $aDir = _FileListToArrayRec(@TempDir, "scoped_dir*;chrome_*", $FLTAR_FOLDERS, $FLTAR_NORECUR, $FLTAR_NOSORT, $FLTAR_FULLPATH) Sleep(2000) For $i = 1 To $aDir[0] DirRemove($aDir[$i], $DIR_REMOVE) Next _WD_LoadWait($sSession) _WD_Shutdown() Func SetupChrome() _WD_Option('Driver', 'chromedriver.exe') _WD_Option('Port', 9515) _WD_Option('DriverParams', '--log-path="' & @ScriptDir & '\chrome.log"') $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"goog:chromeOptions": {"w3c": true, "args":["start-maximized","disable-infobars"]}}}}' EndFunc ;==>SetupChrome If the excel file doesn't exists in the folder, it will send an email to a specific recipient.
      What i am trying figure out now is if the excel crashes while the script/loop is running, I want to relaunch the excel file continue to the last row before the excel crashed. So if the value of column B is not marked as "completed", it should continue from that row
      Appreciate any help that I can get to achieve this.
      table1.html test.xlsx
    • By adityaparakh
      Hello ,
      I am trying to use Websockets in AutoIt.
      It is to fetch live stock market prices , API is provided and documentation available for python language.
      The link for the code snippet is :
      https://symphonyfintech.com/xts-market-data-front-end-api-v2/#tag/Introduction
      https://symphonyfintech.com/xts-market-data-front-end-api-v2/#tag/Instruments/paths/~1instruments~1subscription/post
       
      https://github.com/symphonyfintech/xts-pythonclient-api-sdk
       
      Second Link is to subscribe to a list of ExchangeInstruments.
      Now I would like to get live stock ltp (LastTradedPrice) for a few stocks whose "ExchangeInstrumentID" I know.
      I am able to use the WinHttp object to perform actions using simple codes like below :
      I have the secretKey and appkey and can generate the needed token. And get the unique ExchangeInstrumentID.

      Below code is just for example of how I am using WinHttp. Unrelated to socket part.
      Global $InteractiveAPItoken = IniRead(@ScriptDir & "\Config.ini", "token", "InteractiveAPItoken", "NA") $baseurl = "https://brokerlink.com/interactive/" $functionurl = "orders" $oHTTP = ObjCreate("winhttp.winhttprequest.5.1") $oHTTP.Open("POST", $baseurl & $functionurl, False) $oHTTP.SetRequestHeader("Content-Type", "application/json;charset=UTF-8") $oHTTP.SetRequestHeader("authorization", $InteractiveAPItoken) $pD = '{ "exchangeSegment": "NSEFO", "exchangeInstrumentID": ' & $exchangeInstrumentID & ', "productType": "' & $producttype & '", "orderType": "MARKET", "orderSide": "' & $orderside & '", "timeInForce": "DAY", "disclosedQuantity": 0, "orderQuantity": ' & $qty & ', "limitPrice": 0, "stopPrice": 0, "orderUniqueIdentifier": "' & $orderidentifier & '"}' $oHTTP.Send($pD) $oReceived = $oHTTP.ResponseText $oStatusCode = $oHTTP.Status
          
          
      But am struggling to understand and use socket.
      Would be of great help if you can have a look at the link mentioned above and help with the code sample for AutoIt.
      To connect and listen to a socket.
      Thanks a lot
       
    • By Hermes
      Hi, I have a site that has the following elements below: 
      <div>More element here</div> <div>More element here</div> <div>More element here</div> When I do this in Auto It:
      Local $oSelectDiv = _WD_FindElement($sSession, $_WD_LOCATOR_ByCSSSelector, "div") _WD_HighlightElement($sSession, $oSelectDiv, 1) I also tried to add [3], but it doesnt seems to work:
      Local $oSelectDiv = _WD_FindElement($sSession, $_WD_LOCATOR_ByCSSSelector, "div[3]") _WD_HighlightElement($sSession, $oSelectDiv, 1) It always highlight the first one, but I am trying to highlight the 3rd in the list. Is there anyway to select the 3rd div without having to add any class/id in the divs, and without using XPATH? The structure of the elements in that site were built that way.
×
×
  • Create New...