-
Latest Version
AutoIt 3.3.18.0 LATEST
-
Review by
-
Operating System
Windows 7 / Windows 8 / Windows 10 / Windows 11
-
User Rating
Click to vote -
Author / Product
-
Filename
autoit-v3-setup.exe
It uses a combination of simulated keystrokes, mouse movement, and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages (e.g. VBScript and SendKeys).
AutoIt is also very small, self-contained, and will run on all versions of Windows out-of-the-box with no annoying “runtimes” required!
It was initially designed for PC “roll out” situations to reliably automate and configure thousands of PCs. Over time it has become a powerful language that supports complex expressions, user functions, loops, and everything else that veteran scripters would expect.
It has been designed to be as small as possible and stand-alone with no external .dll files or registry entries required making it safe to use on Servers. Scripts can be compiled into stand-alone executables with Aut2Exe.
Also supplied are a combined COM and DLL version of the app called AutoItX that allows you to add the unique features of this program to your own favorite scripting or programming languages! It has a BASIC-like syntax which means that most people who have ever written a script or used a high-level language should be able to pick it up easily.
The toolis a very small and standalone application with no reliance on massive runtimes like .NET or VB. All you need to run the scripts are the main the app executable (AutoIt3.exe) and the script. Scripts can also be encoded into standalone executables with the built-in script compiler Aut2Exe.
Much time has been spent optimizing the keystroke and mouse simulation functions to be as accurate as possible on all versions of Windows. All the mouse and keyboard routines are highly configurable both in terms of simulation “speed” and functionality.
Features and Highlights
- Easy to learn BASIC-like syntax
- Simulate keystrokes and mouse movements
- Manipulate windows and processes
- Interact with all standard windows controls
- Scripts can be compiled into standalone executables
- Create Graphical User Interfaces (GUIs)
- COM support
- Regular expressions
- Directly call external DLL and Windows API functions
- Scriptable RunAs functions
- Detailed helpfile and large community-based support forums
- Compatible with Windows XP / 2003 / Vista / 2008 / Windows 7 / 2008 R2 / Windows 8 / 2012 R2 / Windows 10 / Windows 11
- Unicode and x64 support
- Digitally signed for peace of mind
- Works with Windows Vista’s User Account Control (UAC)
- Write a Script – Use SciTE (included with AutoIt) to create a new .au3 script.
- Basic Automation – Automate keystrokes, mouse movements, and window interactions using functions like Send(), MouseClick(), and WinActivate().
- Run the Script – Execute your script by double-clicking the .au3 file or running it from the command line.
- Compile to EXE – Convert your script into an executable using the AutoIt Compiler (Aut2Exe).
- Use MsgBox for Testing – Display messages with MsgBox() to debug or prompt user interactions.
- Control Windows & UI – Interact with GUI elements using ControlClick(), ControlSend(), and WinWait().
- Loops & Conditions – Use For, While, and If statements to add logic and repetition.
- Include External Libraries – Extend functionality using #include directives for additional libraries.
- Secure with Obfuscation – Use script obfuscation (Obfuscator.exe) to protect source code when distributing compiled scripts.
If you are looking for an alternative, we recommend you to download AutoHotkey.
PROS
- Easy to learn syntax
- Small and standalone
- Unicode and x64 support
- Comprehensive window control
- Versatile script compilation
- Limited to Windows OS
- Learning curve for complex tasks
- Dependency on AutoIt ecosystem
- It's been a long time since there was an update on the official website
What's new in this version:
AutoIt 3.3.18.0
AutoIt:
- Changed: Windows 7/Server 2008 is now the minimum OS version required due to dev environment changes
- Added DllCall() performance optimisation
- Added: Standard Windows Fonts List for Win10/Win11
- Added GUICtrlCreateXXX creation in example assign to $idXXX to reflect Ctrl type
- Added: FileGetAttrib() retrieve Join folder (J) as created by FileCreateNTFSLink()
- Added: Split WindowsConstants.u3 in WindowsNotifsConstants.au3, WindowsStylesConstants.au3 and WindowsSysColor.au3
- Added: GUICtrlSetGraphic() doc precisio
- Added: operator precedence doc precision
- Fixed: Doc Chr(0) handling inside functions
- Fixed Doc typo in "Send Key List"
- Fixed: Regressionhandle lea
- Fixed Doc With ... EndWith using DllStruct Type
- Fixed: Links in Tutorials example cod
Au3info:
- Added: Display mouse coordinate mode
- Fixed Crash under Win7
SciTE-lite:
- Fixed: Folding Fix for Preprocessor foldblock when followed by a CommentBlock
UDFs:
- Added: script examples when running under Win11 with new notepad.exe
- Added: _GUICtrlTreeView_GetItemByIndex() can retrieve handle of the list of main item ($hItem= -1)
- Added: _IsPressed() can be called with numeric value as in "WinAPIsvkeysConstants.au3"
- Added _DebugReportData() to report Array column formatted
- Added: libExamples referring MemoWrite() now refer to _MemoWrite() defined in Extras\HelpFileInternals.au3
- Added: _WinAPI_WaitSystemIdle(), _WinAPI_QueryDiskUsage(), _WinAPI_QueryProcessorUsage(), _WinAPI_QueryProcessCycleTime(
- Added: Doc _WinAPI_GetWindowSubclass() exampl
- Added: _WinAPI_GetKeyboardLayout() default value for the running thread
- Added: _WinAPI_GetUserDefaultLCID() example
- Added: _WinAPI_GetKeyboardLayoutLocale()
- Added: _WinAPI_GetKeyboardState() exampl
- Added Try to use file in HelpFile\Extras instead of @ScriptDir
- Added _WinAPI_SetTimer() example
- Added: _IsPressed() can wait on one of several keys
- Added: _WinAPI_SendInput()
- Added _Div() integer division
- Added _WinAPI_OpenEvent()
- Added: _GDIPlus_ImageSaveToFile() doc precision for compression level
- Added: _WinAPI_GetCursorSize() and _WinAPI_SetCursorSize()
- Added: $FOLDERID_Documents Constants in APIShellExConstants.au3
- Added: Support _GUIToolTip*() to be used to external process
- Added: Support _GUICtrlHeader*() to be used to external process
- Added: Support _GUICtrlStatusBar*() to be used to external process
- Added _WinAPI_GetSystemPowerStatus() return Battery status saver
- Added _ArrayDisplay() + $WS_EX_TOPMOST
- Added _SQLite_ForeignKeys() and Add a parameter in _SQLite_Open() to set it also
- Added _IsPressed() return in @extended if the key is still pressed
- Added: _DebugSetup(..., 1) does not interact with script being debug, Report infos copied to clipboard
- Added: _WinAPI_SetWindowTheme() example to demonstrate Checkbox or Radio controls coloring
- Added _WinAPI_RegisterShellHookWindow() example improvement
- Added _WinAPI_OemToChar() performance improvement
- Added _ChooseFont() updated defaults
- Added: _DateDiff(), _DateAdd() using array for [days, hours, minutes, seconds]
- Added: _DebugSetup() Type 6, same as 1 but a timeout to close the report log windows
- Added: _WinAPI_MultiByteToWideChar() using DllStructSize
- Added: $MB_ERR_INVALID_CHARS for _WinAPI_MultiByteToWideChar()
- Fixed _WinAPI_GetProcessName() returns incorrect result when process ID is invalid
- Fixed: "Then SetError()" in several standard UDF
- Fixed Missing _GUICtrlStatusBar_SetParts() examples
- Fixed: Doc typo $GPIP_ERR* >> $GDIP_ERR*
- Fixed _GUICtrlTreeView_SetChildren() not set/reset chidren flag
- Fixed: _WinAPI_DisplayStruct() elements containing chr(124)
- Fixed StringRegExp() /s include VT
- Fixed _ArrayDisplay() does show multiple subscript of an array
- Fixed links in libfunction constants
- Fixed: missing doc description $iSubItem = - 1 in _GUICtrlListView_SetItemText()
- Fixed _WinAPI_ShellUserAuthenticationDlg() example
- Fixed unrelated link in Pcre doc
- Fixed _GuiCtrlTab_GetItem() does work on external process
- Fixed _GuiCtrlTab_GetItemText() does work on external process
- Fixed _WinAPI_DwmSetWindowAttribute() does not support all MSDN attributes
- Fixed _GUICtrlListView_*() example ($tagNMITEMACTIVATE)
- Fixed _ArrayPush() doc precision
- Fixed: _GUICtrlButton_SetSplitInfo() example crash
- Fixed: Support of Notepad under Win11 for _DebugSetup()
- Fixed Various doc duplicated words
- Fixed _DebugArrayDisplay() buttons display
- Fixed: _DebugArrayDisplay() not executed if @error on entering ($ARRAYDISPLAY_CHECKERROR if no display wanted on @error)
- Fixed _DateTimeSplit() setting $aTimePart[0] whem no time defined
- Fixed _DebugSetup(,, 5) (notepad window) not working under Windows 11
- Fixed: _WinAPI_IsElevated() @extended return valu
- Fixed _GUICtrlTreeView_Delete() with $hWnd
- Fixed _GUICtrlRichEdit_StreamToFile() extra new paragraph
- Fixed _Date_Time_SystemTimeToDateTimeStr() Wrong output
- Fixed _GUICtrlRichEdit_SetZoom() parameter limitation bug
- Fixed _GUICtrlStatusBar_SetIcon() not shown
AutoIt 3.3.16.1
Fixed:
- REGEXPCLASS broken in 3.3.16.0
- Image Control resizing behave as forced $GUI_DOCKWIDTH and $GUI_DOCKHEIGHT
- StringRegExp() crash with patterns that cause infinite recursion
- Hex Number Arithmetic is incorrect
- Subtraction operator before power operation is parsed incorrectly
- Dim Map to Array
- GUICtrlSetResizing() performance by Reverting #3831: GUICtrlSetPos() $GUI_DOCKHCENTER
- missing uninstalling file GUICtrlInternals.au3 since 3.3.15.2
- regression GUICtrlSetResizing() $GUI_DOCKBOTTOM full screen with WS_POPUP style
AutoIt 3.3.16.0
- Changed: PCRE regular expression engine updated to 8.44
Added:
- GUISetStyle() example to avoid blank title bar)
- Lang Variable prefix "o")
- DriveGetDrive() @error doc clarification)
- GuiCtrlCreateInput() Doc $ES_AUTOHSCROLL precision)
Added: doc pages about ControlID/Handle and String/Encoding.
- SetError(), SetExtended() doc precision)
- WinSetTitle() on notepad.exe is reverted when the windows get focus starting Windows 19H1 !!)
- Doc precision for statement with 2 FileInstall())
Added: ConsoleWrite() preserves the @error and @extended.
Added: ConsoleWriteError() preserves the @error and @extended.
- Add "GetCount" to ControlCommand()
- FileGetTime() UTC)
- ProgressOn()/ProgressSet() - size of the progress window)
- FileGetTime() Msec)
- GUI "On event" While loop precision)
- FileGetTime() Msec)
Added: Doc Symbolic constants for MouseGetCursor(), GUISetCursor() $MCID_*.
- @OSVersion for Windows 11 and Server 2022)
Fixed:
- GUICtrlCreateIcon() doc when filename=""
- FileSetAttrib() crashing on root folders
- Applied the SS_NOPREFIX style to the SplashTextOn dialog
- GUICtrlSetOnEvent ( controlID, "" ) wasn't disabling the previous set UDF and returned error=1
- GUISetOnEvent($GUI_EVENT_CLOSE, "") wasn't disabling the previous set UDF and returned error=1
- GUIOnEventMode and TrayOnEventMode options had unnecessary slow downs
- Workarounds added to alleviate slow downs on Windows 10 1809 and later (OS bug/design change)
- Missing Opt("SetExitCode", 1) and AutoIt3 Exit codes in doc
- Doc precision for hwnd parameter in Pixel*() functions
- Doc precision about Null keyword comparison
- DllStructGetData() doc precision
- bad obj calling
- StringIsFloat() doesn't accept a valid FP exponent
- StdioClose memory leak
- Call UBound Array[0] AutoIt Crash
- Com error handler not called
- Number() failure with lower case hex
- MouseMove() on multiple screens
- Issue when parsing scientific notation literals
- InetClose() always false
- GuiCtrlCreatePic() with h=0 and w=0
- Crash with array 2^24
- @OSVersion for Server 2019
- [LAST] and WinWaitClose(), WinExists(), WinGetHandle(), etc
- int64 = -9223372036854775808 not handled properly
- ToolTip() position
- FileRead() on big ANSI file (1Gb)
- UCS2 compare empty string
- GUISetIcon() in taskbar
- WinGetTitle() on windows created with _WinAPI_CreateWindowEx()
- Double to Int64 conversion
- FileExits() trailing quotation mark
- Right bracket does not register as a hotkey
- GUICtrlSetResizing() $GUI_DOCKBOTTOM fullscreen
- GUICtrlSetPos() $GUI_DOCKHCENTER
- RegRead() x64 remote from x86
- empty continuation line
- oversized Number() conversion
- GUICtrlCreateUpdown() Show-Hide
- StringRegExp updated to not use a string copy internally
AutoIt 3.3.14.5
- Fixed: CheckForUpdates ExtrasAutoUpdateItAutoUpdateIt.au3 script
OperaOpera 122.0 Build 5643.17 (64-bit)
MasterMaster Uninstaller 1.1025.1025.915
PhotoshopAdobe Photoshop CC 2025 26.10 (64-bit)
BlueStacksBlueStacks 10.42.102.1002
CapCutCapCut 7.0.0
Premiere ProAdobe Premiere Pro CC 2025 25.5
PC RepairPC Repair Tool 2025
Hero WarsHero Wars - Online Action Game
SemrushSemrush - Keyword Research Tool
LockWiperiMyFone LockWiper (Android) 5.8.1
Comments and User Reviews