kids encyclopedia robot

AutoIt facts for kids

Kids Encyclopedia Facts
Quick facts for kids
AutoIt
AutoIT example script
screenshot of a typical AutoIT script
Paradigm Object-oriented, imperative, functional, procedural, reflective
Designed by Jonathan Bennett
Developer AutoIt Consulting Ltd.
First appeared January 1999; 25 years ago (1999-01)
Stable release 3.3.14.5 / March 16, 2018; 6 years ago (2018-03-16)
Platform IA-32 and x64
OS Windows XP SP3 and later
Windows Server 2003 and later
License Freeware
Filename extensions .au3
Influenced by
BASIC

AutoIt is a freeware programming language for Microsoft Windows. In versions 1 and 2, it was used to create automation scripts for Microsoft Windows programs. These are sometimes called macros. In version 3, the programming language was extended to allow it to do more things.

The scripting language in AutoIt 1 and 2 was statement-driven. It was designed to simulate a user's input to the computer. From version 3 onward, the AutoIt syntax changed. It is now similar to the BASIC programming language. AutoIt version 3 is a general-purpose programming language. It can have types of data, such as arrays.

An AutoIt script can be converted into a stand-alone executable. This can be run on computers that do not have the AutoIt interpreter installed. A wide range of function libraries are available. They are known as UDFs, or "User Defined Functions". Some are included as standard. Others are available from the website. They add extra abilities to the language. AutoIt has a special editor, an Integrated development environment or IDE. It is based on the free SciTE editor. The compiler and help text are included in this special editor and provide a standard environment for developers.

Features

  • Scripting language with BASIC-like structure for Windows
  • Compiling into standalone executables
  • Add-on libraries and modules for specific applications or apps
  • Supports TCP and UDP protocols
  • Supports component object model (COM)
  • Call functions in DLL files
  • Run console apps and access the standard streams
  • Include data files in the compiled file to be extracted when running
  • Create graphical user interfaces, including message and input boxes
  • Play sounds, pause, resume, stop, seek, get the current position of the sound and get the length of the sound
  • Simulate mouse movements
  • Manipulate windows and processes
  • Automate sending user input and keystrokes to apps, as well as to individual controls within an app
  • Unicode support from version 3.2.4.0
  • 64-bit code support from version 3.2.10.0
  • Supports regular expressions
  • Compatible with User Account Control
  • Object-oriented design through a library

Usage

AutoIt is often used to produce utility software for Microsoft Windows. These programs can automate routine tasks. Example use includes: systems management, monitoring, maintenance, and software installation. It is also used to simulate user interaction. In this use an application is "driven" to do things by an AutoIt script which behaves like a human user. An AutoIT script can issue keypresses, mouse clicks, type text and so on. In this way it simulates a human user of an application.

AutoIt has been used in low-cost laboratory automation. Applications include instrument synchronisation, alarm monitoring and results gathering. Devices such as 3D-printers can also be controlled.

Examples

Hello world

#include <MsgBoxConstants.au3>

MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!")

Automating the Windows Calculator

#include <MsgBoxConstants.au3>

MsgBox($MB_OK, "Attention", "Avoid touching the keyboard or mouse during automation.", 6)

Run("calc.exe")

WinWaitActive("[CLASS:CalcFrame]", "", 10)

If WinExists("[CLASS:CalcFrame]") = 0 Then Exit

Send(@YEAR)

Sleep(600)

Send("/4")
Sleep(600)

Send("{ENTER}")
Sleep(600)

Send("^c")

Local $fResult = ClipGet()

If StringInStr($fResult, ".") Then
    ; Display a message box with a timeout of 5 seconds.
    MsgBox($MB_OK, "Leap Year", @YEAR & " is not a leap year.", 5)
Else
    ; This message will only display if the current year is a leap year.
    MsgBox($MB_OK, "Leap Year", @YEAR & " is a leap year.", 5)
EndIf

WinClose("[CLASS:CalcFrame]")

Find average

#include <MsgBoxConstants.au3>

_Example() ; Run the example.

Func _Example()
    ; Display an input box and ask the user to enter some numbers separated by commas.
    Local $sInput = InputBox("Find Average", "Enter some numbers separated by commas: 1,2,42,100,3")

        ; If an error occurred then exit the script.
        If @error Then Exit

    ; Populate an array with the user's input.
    Local $aSplit = StringSplit($sInput, ",")

    ; Pass the array to the function _Find_Average() and then check for errors.
    Local $fAverage = _Find_Average($aSplit)
    If @error Then Exit

    ; Display the result in a message box.
    MsgBox($MB_OK, "Find Average", "Result: " & $fAverage)
EndFunc   ;==>_Example

Func _Find_Average($aArray)
    ; If the input is not of the correct type (an array), then return an error along with the details.
    If Not IsArray($aArray) Then Return SetError(1, 0, VarGetType($aArray))
        ; More detailed checks are possible, but for brevity just one is performed here.

    ; Declare a variable to store the sum of the numbers.
    Local $iArraySum = 0

    ; Loop through the array.
    For $i = 1 To $aArray[0]
        ; Increment the sum by the number in each array element.
        $iArraySum += Number($aArray[$i])
    Next

    ; Return the average rounded to 2 decimal places.
    Return Round($iArraySum / $aArray[0], 2)
EndFunc   ;==>_Find_Average

History

  • January 1999 - First AutoIt Version (1.0)
  • August 1999 - AutoIt v2 and AutoItX
  • September 1999 - First AutoIt version with Compiler
  • December 2002 - AutoIt v3 (Public Beta)
  • February 2004 - AutoIt v3 (Stable)
  • September 2006 - Auto3Lib started
  • November 2007 - AutoIt v3.2.10.0 released, Auto3Lib incorporated into AutoIt v3
  • May 2008 - AutoIt v3.2.12.0 released, incorporating added GUI functionality
  • December 2008 - AutoIt (and AutoItX) v3.3.0.0 released
  • December 2009 - AutoIt v3.3.2.0 released
  • January 2010 - AutoIt v3.3.4.0 released
  • March 2010 - AutoIt v3.3.6.0 released
  • April 2010 - AutoIt v3.3.6.1 released
  • December 2011 - AutoIt v3.3.8.0 released
  • January 2012 - AutoIt v3.3.8.1 released
  • December 2013 - AutoIt v3.3.10.0 released
  • June 2014 - AutoIt v3.3.12.0 released
  • July 2015 - AutoIt v3.3.14.0 and v3.3.14.1 released
  • September 2015 - AutoIt v3.3.14.2 released
  • February 2018 - AutoIt v3.3.14.3 released

License

The developers of AutoIt originally released the source code under the GNU General Public License (GPL).

In 2006, the license was changed for version 3.2.0 and later versions to their own closed source license.

Some of the code from version 3.1 was used to create a fork by the AutoHotkey project. This was allowed under the GPL licence terms. The AutoHotkey community is continuing to develop and release the code under the GPL.

Images for kids

See also

Kids robot.svg In Spanish: AutoIt para niños

kids search engine
AutoIt Facts for Kids. Kiddle Encyclopedia.