AutoIt: Difference between revisions
m Changed pronunciation to the International Phonetic Alphabet |
m reincorporated the original pronunciation spelling |
||
Line 17: | Line 17: | ||
}} |
}} |
||
'''AutoIt''' ({{IPA-en|ɔːtoʊ ɪt}})<ref>[http://www.autoitscript.com/forum/index.php?s=&showtopic=22349&view=findpost&p=155491 Reply by Jon (AutoIt creator) to a forum topic discussing correct pronunciation]</ref> is a [[freeware]] [[automation]] [[programming language|language]] for [[Microsoft Windows]]. In its earliest release, the software was primarily intended to create automation scripts (sometimes called [[Macro (computer science)|macros]]) for Microsoft Windows programs<ref name="Kaplan000">{{cite book | last = Kaplan | first = Steve | title = Citrix Metaframe Access Suite for Windows Server 2003 | publisher = McGraw-Hill | location = New York | year = 2003 | isbn = 0-07-219566-5 }}</ref> but has since grown to include enhancements in both programming language design and overall functionality. |
'''AutoIt''' ({{IPA-en|ɔːtoʊ ɪt}} {{respell|aw tow It}}) <ref>[http://www.autoitscript.com/forum/index.php?s=&showtopic=22349&view=findpost&p=155491 Reply by Jon (AutoIt creator) to a forum topic discussing correct pronunciation]</ref> is a [[freeware]] [[automation]] [[programming language|language]] for [[Microsoft Windows]]. In its earliest release, the software was primarily intended to create automation scripts (sometimes called [[Macro (computer science)|macros]]) for Microsoft Windows programs<ref name="Kaplan000">{{cite book | last = Kaplan | first = Steve | title = Citrix Metaframe Access Suite for Windows Server 2003 | publisher = McGraw-Hill | location = New York | year = 2003 | isbn = 0-07-219566-5 }}</ref> but has since grown to include enhancements in both programming language design and overall functionality. |
||
While the scripting language in AutoIt 1 and 2 was statement-driven, designed primarily for simulating user interaction, from version 3 onwards the AutoIt syntax is similar to that found in the [[BASIC]] family of languages. In this form, AutoIt is a general-purpose, [[third-generation programming language]] with a classical data model and a [[variant type|variant data type]] that can store several types of data, including arrays. While version 1 and 2 were compatible with Windows [[Windows 95|95]], [[Windows 98|98]], [[Windows Me|ME]], [[Windows NT4|NT4]], [[Windows 2000|2000]], [[Windows XP|XP]], [[Windows 2003|2003]], [[Windows Vista|Vista]] and [[Windows 7]], support for operating systems older than [[Windows 2000]] was discontinued with the release of v3.3.0 in December 2008).<ref>{{cite web|author=Jon |url=http://www.autoitscript.com/forum/index.php?showtopic=86590&st=0&entry620851 |title=AutoIt v3.3.0.0 Released - Announcements and Site News - AutoIt Forums |publisher=Autoitscript.com |date=2008-12-24 |accessdate=2014-01-23}}</ref> |
While the scripting language in AutoIt 1 and 2 was statement-driven, designed primarily for simulating user interaction, from version 3 onwards the AutoIt syntax is similar to that found in the [[BASIC]] family of languages. In this form, AutoIt is a general-purpose, [[third-generation programming language]] with a classical data model and a [[variant type|variant data type]] that can store several types of data, including arrays. While version 1 and 2 were compatible with Windows [[Windows 95|95]], [[Windows 98|98]], [[Windows Me|ME]], [[Windows NT4|NT4]], [[Windows 2000|2000]], [[Windows XP|XP]], [[Windows 2003|2003]], [[Windows Vista|Vista]] and [[Windows 7]], support for operating systems older than [[Windows 2000]] was discontinued with the release of v3.3.0 in December 2008).<ref>{{cite web|author=Jon |url=http://www.autoitscript.com/forum/index.php?showtopic=86590&st=0&entry620851 |title=AutoIt v3.3.0.0 Released - Announcements and Site News - AutoIt Forums |publisher=Autoitscript.com |date=2008-12-24 |accessdate=2014-01-23}}</ref> |
Revision as of 17:20, 28 January 2015
Developer(s) | Jonathan Bennett & AutoIt Team |
---|---|
Initial release | January 1999 |
Stable release | 3.3.12.0
/ June 1, 2014[1] |
Operating system | Microsoft Windows |
Type | GUI Scripting language Automation |
License | Freeware closed source |
Website | www.autoitscript.com/autoit3/ |
AutoIt (/ɔːtoʊ ɪt/ aw tow It) [2] is a freeware automation language for Microsoft Windows. In its earliest release, the software was primarily intended to create automation scripts (sometimes called macros) for Microsoft Windows programs[3] but has since grown to include enhancements in both programming language design and overall functionality.
While the scripting language in AutoIt 1 and 2 was statement-driven, designed primarily for simulating user interaction, from version 3 onwards the AutoIt syntax is similar to that found in the BASIC family of languages. In this form, AutoIt is a general-purpose, third-generation programming language with a classical data model and a variant data type that can store several types of data, including arrays. While version 1 and 2 were compatible with Windows 95, 98, ME, NT4, 2000, XP, 2003, Vista and Windows 7, support for operating systems older than Windows 2000 was discontinued with the release of v3.3.0 in December 2008).[4]
An AutoIt automation script can be converted into a compressed, stand-alone executable which can be run on computers that do not have the AutoIt interpreter installed. A wide range of function libraries (known as UDFs, or "User Defined Functions")[5] are also included as standard or are available from the website to add specialized functionality. AutoIt is also distributed with an IDE based on the free SciTE editor. The compiler and help text are fully integrated and provide a de facto standard environment for developers using AutoIt.
Features
- Scripting language with BASIC-like structure for Windows Desktop Environment.
- Add-on libraries and modules for specific applications.
- On-line support forum for AutoIt users and developers.
- Supports TCP and UDP protocols.
- Supports COM (component object modelling) objects.
- Call functions in Win32 DLLs.
- Run console applications and access the standard streams.
- Include files in the compiled file to be extracted when run.
- Create GUI 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 applications, as well as to individual controls within an application.
- Scripts can be compiled into standalone executables.
- Unicode support from version 3.2.4.0.
- 64-bit code support from version 3.2.10.0.
- Supports regular expressions.
- Works with Windows Vista's User Account Control.
- Object oriented design through a library[6]
Usage
AutoIt is typically used to produce utility software for Microsoft Windows and to automate routine tasks, such as systems management, monitoring, maintenance, or software installation. It is also used to simulate user interaction, whereby an application is "driven" (via automated form entry, keypresses, mouse clicks, and so on) to do things by an AutoIt script.
Examples
Hello world
#include <MsgBoxConstants.au3>
; Displays "Hello, world!" in a messagebox and exits.
MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!")
Exit
Find average
; Find the average of numbers specified by a user e.g. 1,2,42,100,3 etc...
#include <GUIConstantsEx.au3>
#include <StringConstants.au3>
Example()
Func Example()
; Create a GUI with various controls.
Local $hGUI = GUICreate("Find the average of numbers example")
; GUI controls.
GUICtrlCreateLabel("Enter the numbers to find the average of e.g. 1,2,42,100,3", 5, 5, 390, 20) ; There is no requirement to store the id for the label in a variable.
Local $idNumbers = GUICtrlCreateInput("", 5, 25, 390, 20)
Local $idAvg = GUICtrlCreateLabel("", 5, 50, 390, 20)
Local $idFindAvg = GUICtrlCreateButton("Find Avg", 310, 370, 85, 25)
; Display the GUI.
GUISetState(@SW_SHOW, $hGUI)
; Variables to hold the answer and @error value returned by FindAvg().
Local $iAnswer = 0, $iError = 0
; Loop until the user exits.
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE ; When the GUI close button is pressed.
ExitLoop
Case $idFindAvg ; When the button is pressed.
$iAnswer = FindAvg(GUICtrlRead($idNumbers)) ; Read the textbox control and pass as a parameter.
$iError = @error ; Store the @error value in a temporary variable.
If Not $iError Then ; If no @error value was returned i.e. zero (0) then set the label control with the average value.
GUICtrlSetData($idAvg, $iAnswer)
Else
Switch $iError ; Check the @error value.
Case 1
GUICtrlSetData($idAvg, "The string was incorrectly formatted and not as 1,2,3 etc...")
Case 2
GUICtrlSetData($idAvg, "The string contained non-integer values.")
EndSwitch
EndIf
EndSwitch
WEnd
; Delete the previous GUI and all controls.
GUIDelete($hGUI)
EndFunc ;==>Example
Func FindAvg($sNumbers)
$sNumbers = StringStripWS($sNumbers, $STR_STRIPALL) ; Strip all empty whitespace.
Local $aNumbers = StringSplit($sNumbers, ",") ; Split the string at the comma delimiter.
If @error Then Return SetError(1, 0, 0) ; Set @error to non-zero (1) as the string is incorrectly formatted.
Local $iSum = 0
For $i = 1 To $aNumbers[0]
If Not StringIsInt($aNumbers[$i]) Then Return SetError(2, 0, 0) ; Set @error to non-zero (2) as the element is not an integer.
$iSum += Int($aNumbers[$i]) ; Parse the element as an integer and add to the total sum.
Next
Local $iAvg = $iSum / $aNumbers[0] ; Divide the sum by the total number of elements.
Return Floor($iAvg) ; Return the average of all values and round down to the nearest integer.
EndFunc ;==>FindAvg
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[7]
The developers of AutoIt originally released the source code under the GNU General Public License (GPL), but the practice was discontinued beginning with version 3.2.0 in August 2006. Following the terms of the GPL, some of the code from version 3.1 was used to create a fork by the AutoHotkey project,[8] where the community is continuing to develop and release the code under the GPL.
See also
- AutoHotkey
- Macro Express
- Automator (for Macintosh)
- Keyboard Maestro (for Macintosh)
- KiXtart
- iMacros
- thinBasic
- Visual Basic
- Winbatch
- Expect
References
- ^ "AutoIt Downloads".
- ^ Reply by Jon (AutoIt creator) to a forum topic discussing correct pronunciation
- ^ Kaplan, Steve (2003). Citrix Metaframe Access Suite for Windows Server 2003. New York: McGraw-Hill. ISBN 0-07-219566-5.
- ^ Jon (2008-12-24). "AutoIt v3.3.0.0 Released - Announcements and Site News - AutoIt Forums". Autoitscript.com. Retrieved 2014-01-23.
- ^ http://www.autoitscript.com/autoit3/udfs/UDF_Standards.htm
- ^ AutoitObject. a library to use object oriented design in autoit
- ^ "AutoIt History".
- ^ Chris Mallet (author of AutoHotkey)'s post