History
IMPORTANT:
See here for recent script-breaking
changes.
Here is the summarised history of the changes to AutoIt v3.
(For the complete technical history
click here. For the complete history including
all changes between beta versions click here.)
24th December, 2008 - v3.3.0.0
AutoIt:
- Windows 9x and Windows NT 4.0 Operating System support has been removed.
- Added: New flag for StringSplit() to not return the count in element 0.
- Added #328: StringToASCIIArray(), StringFromASCIIArray() functions.
- Added: New flag to Run()/RunAs() to fix issue #415 (Adds new Constants.au3 constant: $STDIO_INHERIT_PARENT).
- Added: New flag to all Run functions for better CUI compatibility (Adds new Constants.au3 constant: $RUN_CREATE_NEW_CONSOLE).
- Added #481: 11 pixel margin around the text in SplashTextOn() (Meets Vista UI guidelines).
- Added #468: Added @MSec macro for obtaining the current milliseconds for the current second.
- Added #277: @CPUArch macro to return the capability of the processor.
- Added #454: $FO_UTF8 allowing FileOpen() in Read mode for reading UTF8 files without BOM.
- Added: $FO_UTF16_LE, $FO_UTF16_BE allowing FileOpen() in Read mode for reading UTF16 files without BOM.
- Added #407: Documented that For...In loops are read-only.
- Added #645: IniDelete() now supports the Default keyword for the 3rd parameter.
- Fixed: Send() was incorrectly inserting a leading zero when using the {ASC 0xNNNN} format.
- Fixed #305: GUICtrlSetFont() for Combo causing highlight.
- Fixed #318: GUICtrlSetTip() on TreeViewItem must return 0.
- Fixed #339: GUICtrlDelete() crashes.
- Fixed #345: @OSVersion for Windows 2008.
- Fixed #366: AutoIt crash on bad syntax.
- Fixed #380: @OSVersion for Windows XP 64-bit Edition.
- Fixed #346: FileOpenDialog()/FileSaveDialog() filter length limit.
- Fixed #387: DllClose() and DllCallbackFree() crashing when an invalid handle used.
- Fixed #449: @SystemDir does not return SysWOW64 under X64 in 32-bit mode.
- Fixed #440: Fatal error when script ends with EOF (0x1A).
- Fixed #464: Example script for GUICtrlCreateAvi() did not work on Vista.
- Fixed #484: ObjGet() would crash when invalid files were specified.
- Fixed #501: ProcessGetStats() failed for processes running as other users (including SYSTEM).
- Fixed #92: DllStruct data truncated with char[]/wchar[].
- Fixed: GuiCtrlSetState($graphic, $GUI_HIDE) does not hide.
- Fixed: GuiCtrlSetResizing($graphic, ) not moving.
- Fixed: GuiCreate(...,Style without caption) does not resize properly.
- Fixed: GuiSetStyle(caption change) does not resize properly.
- Fixed: GuiCtrlSetState($listviewitem) does not return error.
- Fixed #562: Specifying the TITLE property caused all other properties to be lost (Window title matching).
- Fixed #569 TCPRecv() doc example.
- Fixed #589: Some comparison operators did not return a boolean value.
- Fixed #583: Bad formatting of @MSEC in documentation.
- Fixed #574: Using 0 for the SendKeyDelay or SendKeyDownDelay removes the respective delay when using Send().
- Fixed #542: Crash with regular expressions.
- Fixed #531: Clarification of some of the remarks for GUICtrlSetGraphic().
- Fixed #539: StringSplit() with flag 2 and no matching delimiters wasn't returning the full string.
- Fixed #601: Tooltip return 0 when title length >99.
- Fixed #608: listView GUICtrlSetBkColor() not redrawn.
- Fixed #628: GuiCtrlRead($ctxmenu, $adv) bad return.
- Fixed #640: PCRE does not support \L, \l, \N, \U, or \u : doc updated
- Fixed #642: Installer now correctly opens the merged helpfile to the history page instead of the AutoIt-only helpfile.
- Fixed #646: Call() now sets specific @error and @extended values when it fails to find a function.
- Fixed #669: Typo in Dec() example.
- Fixed #659: Documented that UNC paths are not supported when using FileSelectFolder().
- Fixed #671: Crash when using $WS_EX_MDICHILD without specifying a valid parent.
- Fixed: Crash when using BinaryToString() with invalid UTF16 input string. BinaryToString() now has new @error codes to support diagnosing invalid input.
- Fixed #743: AutoIt Crash when Tray functions are use with invalid ID.
- Fixed #748: AutoIt Crash with DllCall(0,...).
- Changed #393: Documented that SoundSetWaveVolume() works differently in Windows Vista.
- Changed: PCRE regular expression engine updated to 7.8.
- Changed: @ProcessorArch changed to @OSArch as it was misleading.
- Changed: Size limits removed from RegRead() and RegWrite() (previously 64KB for some registry types).
- Changed: RegRead() and RegWrite() no longer use hex strings for REG_BINARY types - native binary datatypes are enforced.
AutoItX:
- Changed: Native DLL: All string methods in the native API are now Unicode. The majority of functions no longer have ANSI versions.
- Added: COM: WinList method.
- Fixed: Native DLL: Return strings were sometimes incorrectly terminated.
- Fixed: PixelChecksum() not returning correct values.
Aut2Exe:
- Fixed #436: Compression level was ignored when performing compilation from the GUI.
- Added #460: More verbose UPX errors.
UDFs:
- Added: _GDIPlus_StringFormatSetAlign
- Added: _StringExplode()
- Added: _GDIPlus_ImageGetFlags, _GDIPlus_ImageGetHorizontalResolution, _GDIPlus_ImageGetPixelFormat, _GDIPlus_ImageGetRawFormat
_GDIPlus_ImageGetType, _GDIPlus_ImageGetVerticalResolution
- Added: _PathGetRelative
- Added: _ArrayCombinations, _ArrayPermute, _ArrayUnique
- Added: _WinAPI_CreatePen, _WinAPI_DrawLine, _WinAPI_LineTo, _WinAPI_MoveTo, _WinAPI_GetBkMode, _WinAPI_SetBkMode
- Added: _WinAPI_CombineRgn, _WinAPI_CreateRectRgn, _WinAPI_CreateRoundRectRgn, _WinAPI_SetWindowRgn
- Added: _ExcelHorizontalAlignSet, _ExcelFontSetProperties, _ExcelBookAttach
- Added: _WinAPI_SetEndOfFile, _WinAPI_SetFilePointer
- Added: Missing FrameConstants.au3
- Added: Excel UDFs
- Added: _Timer_GetIdleTime, _WinAPI_GetWindowPlacement, _WinAPI_SetWindowPlacement
- Added #332: Remarks to _GUICtrlStatusBar_Create
- Added #275: _GDIPlus_GraphicsFillPolygon
- Added: _GUICtrlTab_ClickTab
- Added: _GUICtrlComboBoxEx_GetUnicode, _GUICtrlComboBoxEx_SetUnicode
- Removed: _StringSplit, no longer needed
- Fixed #693: _DateTimeFormat() time format
- Fixed #701: _GUICtrlListView_ClickItem() Clicks in the wrong place when $fMove = True
- Fixed #700: _GUICtrlTreeView_ClickItem() Clicks in the wrong place when $fMove = True
- Fixed #703: _GUICtrlListBox_ClickItem() Clicks in the wrong place when $fMove = True
- Fixed #705: _GUICtrlToolbar_ClickButton() Clicks in the wrong place when $fMove = True
- Fixed #707: _GUICtrlMonthCal_Create() width and height
- Fixed #674: _GUICtrlTab_ClickTab() Clicks in the wrong place when $fMove = True
- Fixed #610: _WinAPI_CreateFile() wrong return value upon failure
- Fixed #619: _GUICtrlListView_SetItemSelected memory allocation
- Fixed #617: corrections to six GDI+ ImageGet help file examples
- Fixed #621: _StringAddThousandsSep don't work with negative number
- Fixed #635: _GuiCtrlTab_ClickTab() docs list unused $fPopupScan parameter
- Fixed #650: Missing BorderConstants.au3
- Fixed #656: _FileCountLines returns 0 if file only contains 1 line
- Fixed #600: _ArraySearch fails with 2D array.
- Fixed #603: _FileReadToArray() does not return an array if the file contains only a single line of text.
- Fixed #495: _GUICtrlTreeView_GetTree returns only 1 parent
- Fixed #503: _Date_Time_FileTimeToLocalFileTime example
- Fixed #510: _GUICtrlListView_ClickItem: If columns inside listview exceed visible area, clicks outside of the control
- Fixed #500: _ChooseColor run on 64bit
- Fixed #517: WinAPI UDF - bad error checking after DllCall()
- Fixed #533: Array functions dimension check
- Fixed: various Timer Functions
- Fixed #506: _FileCountLines deal with all common line-end-chars
- Fixed #485: WinAPI missing related links in helpfile
- Fixed #571: return value doc for _GUICtrlListBox_FindString, _GUICtrlListBox_GetAnchorIndex and _GUICtrlListBox_GetText
- Fixed #586: _GuiCtrlListView_SetGroupInfo() destroyed group ID's.
- Fixed #516: _ChooseFont run on 64bit
- Fixed #595: _WinAPI_SetWindowsHookEx help file description of $WH_KEYBOARD_LL
- Fixed #465: _DateTimeSplit if seconds omitted defaulted to -1, now defaults to 0
- Fixed: Excel Examples
- Fixed #422: _GDIPlus_GraphicsSetSmoothingMode $iSmooth accepts only 0 - 4, doc updated
- Fixed #388: _GUICtrlToolbar_SetButtonSize Example
- Fixed #400: SQLite.dll.au3 @ProcessorArch replaced with @OSArch
- Fixed #390: _viPrintf replaced return type
- Fixed #371: _GDIPlus_Startup return value
- Fixed #368: _ArrayToClip return value
- Fixed #361, #362: _GUICtrlListView_InsertItem doc
- Fixed #285: _ChooseColor Example
- Fixed #299: _GUICtrlTab_SetItemText buffer length for Unicode
- Fixed #292: _EventLog__Clear not clearing log when backup parameter is empty
- Fixed #258: _ClipBoard_GetData
- Fixed #294: _FileReadToArray where the file contains no @LF
- Fixed #303: Clock.au3 in Examples\GUI\Advanced
- Fixed: _GUICtrlListView_SetItemEx text buffer
- Fixed #320: _WinNet_EnumResource struct pointers
- Fixed #321: _GUICtrlStatusBar_GetText buffer length for Unicode
- Changed: StringAddThousandsSep params in regards to #442
- Changed #733: Doc for _GUICtrlButton_SetImageList
- Changed: _SQLite -> 3.6.7
- Changed #442: _StringAddThousandsSep() allows for regional settings
- Changed #290: _GDIPlus_DrawImagePoints
- Changed: _Soundxxxx functions
- Changed #599: _FileListToArray speed optimization
12th June, 2008 - v3.2.12.1
AutoIt:
- Fixed:
RunAs() and
RunAsWait() now use @SystemDir as the
working directory instead of @WorkingDir when a user-supplied working
directory is not specified.
- Fixed: Contextmenuitem not firing events.
- Fixed: Icon transparency refresh when on tab regression.
- Fixed:
RunAs() under Windows
2000.
16th May, 2008 - v3.2.12.0
AutoIt:
- Changed: @Unicode renamed to @AutoItUnicode. @Unicode is an alias for
now. It will be removed > 3.2.14.0
- Changed: The behavior of StdoutRead(),
StderrRead(),
StdinWrite() and
ConsoleRead() has been changed.
- Changed: PCRE regular expression engine updated to 7.6.
- Changed: AutoIt internet functions (e.g. InetGet()) now use "AutoIt" as
a user-agent. Previously using blank
which was blocked by many websites.
- Changed: ControlClick() now accepts the same mouse buttons as
MouseClick() - left/right/middle/primary/secondary/main/menu.
- Changed: Maximum controls in a GUI window 4093 -> 65532.
- Changed: @OSVersion can now return "WIN_2008" for Windows Server 2008.
- Added: RunAs(),
RunAsWait().
- Added: GUISetAccelerators().
- Added: REGEXPCLASS in Advanced Window and control definitions.
- Added: X, Y, W, H in advanced window/control definitions.
- Added: DllCall() new types int_ptr, uint_ptr, long_ptr, ulong_ptr. Special
types that change size on x86/x64.
- Added: "REG_QWORD" type for RegWrite().
- Added: HotKeySet() modified to work with the {} notation.
- Added: FileReadLine( ,-1) read last line.
- Added: Std I/O redirection works with RunAs...().
- Added: Std I/O merged flag for using the same stream for stdout/stderr.
- Added: Std I/O supports binary data.
- Added: ConsoleWrite()/ConsoleWriteError() now return the amount of data
written.
- Added: Remarks in Run() about how to close streams/release resources
associated with STDIO.
- Added: StdioClose() function to force STDIO data closed for a process.
- Added: ProcessClose() now closes processes started by other users.
- Added: ProcessWaitClose() returns exitcode in @extended.
- Added: Pixel...() can specify a window handle as last parameter.
- Added: "start" and "count" parameters added to
StringInStr().
- Added: GUICtrlSetDefColor(),
GUICtrlSetDefBkColor().
- Added: Added parent window parameter to MsgBox(),
FileSelectFolder(),
FileOpenDialog(),
FileSaveDialog().
- Fixed: DllCall() setting wrong @error values.
- Fixed: BlockInput() returns errors.
- Fixed: WinWaitActive() not matching (more frequent with Windows Vista).
- Fixed: GUICtrlSetState($GUI_SHOW) on hidden radio on an active tab.
- Fixed: SciTe Lite not installed in the AutoIt chosen release directory.
- Fixed: WinMove() with Speed = 0 crash the script.
- Fixed: Mysterious UDF return value of 1 when no explicit value was set.
- Fixed: ControlCommand(), "GetLineCount".
- Fixed: TraySetState(4) flashing tray icon for Windows Vista.
- Fixed: ProcessExists() wrong return.
- Fixed: StringRegExp() crashing under Win95.
- Fixed: Handle leak when using Run() with I/O redirection.
- Fixed: Disabled input control background on tab control.
- Fixed: GUICtrlDelete() of a tab if two GUI windows are used.
- Fixed: AutoIt crash in Random() when range exceeds 2^31.
- Fixed: #include parsing error detection.
- Fixed: Array entry passed Byref to a UDF.
- Fixed: FileSetTime() erroneously rounds UP on non NTFS partition.
- Fixed: STDIO redirection sometimes failed on Windows 9x.
- Fixed: IniReadSectionNames() returning incorrect number of sections under
Win9x.
- Fixed: AutoIt tray icon removal on script exiting.
- Fixed: AutoIt crash when removing ObjEvent() object.
- Fixed: ObjEvent() handler can destroy return of AutoIt Function : as
winwait("title") can return 0.
- Fixed: DirMove() on different volume.
- Fixed: Crash with RegRead() and REG_MULTI_SZ on x64.
- Fixed: Various Edit control focus and DefPushButton issues.
- Fixed: ControlTreeview() returning @error=1 on success.
- Fixed: COM objects could lose numeric precision.
- Fixed: StringReplace() with start float number.
- Fixed: ControlCommand() "SelectString" wrong selection.
- Fixed: StringSplit() flag=1 delimiters not case sensitive.
- Fixed: In advanced Window descriptions only semi-colon must be escaped.
- Fixed: ObjGet() memory leak.
- Fixed: Modified AutoUpdateIt.au3 to work under x64.
- Fixed: Resizing GUI before GUISetState().
- Fixed: Radio events fired when GUI reactivated.
- Fixed: GUICtrlDelete() on contextMenuItem.
- Fixed: An attempt to FileDelete() a file that was just executed with
RunWait() would sometimes fail.
- Fixed: GUI performance problem when creating a large number of windows.
- Fixed: GuiGetCursorInfo() with swapped mouse buttons.
AutoItX:
- Added: ControlTreeView().
- Fixed: ControlListView() for native DLL version.
Aut2Exe:
- Added: Option to compile scripts as console applications.
AU3Info:
- Changed: Controls are always highlighted when using the finder tool.
- Changed: Controls are not highlighted by default.
- Changed: Control description gives the advanced version of class and
instance.
SciTe "lite":
- Updated the source to version 1.75
- Added Save Dialog extension.
UDFs:
25th November, 2007 - v3.2.10.0
- Changed: DllCall() new method of passing types by reference using
*.
- Changed: DllCall(): short_ptr, long_ptr, int_ptr types deprecated. Use
short*, long* and int* respectively.
- Changed: Limits on Execute() removed.
- Changed: PCRE regular expression engine updated to 7.4.
- Fixed: Control...() functions using CLASS and TEXT together sometimes
incorrect.
- Fixed: Control...() functions using CLASSNN sometimes incorrect.
- Fixed: Windows Vista taskbar previews causing problems with windows
matching.
- Fixed: $var = $var was not giving an error when $var didn't already exist.
- Fixed: GUICtrlSetImage() sizing regression from 3.2.4.9.
- Fixed: GUICtrlCreateListView() with no column.
- Fixed: Extra notification on colored button.
- Fixed: IniReadSectionNames() for [] sections.
- Fixed: Opt("WinTitleMatchMode", Default) fatal error.
- Fixed: GUICtrlSetStyle() with $ES_READONLY bad $WS_TABSTOP.
- Fixed: AutoIt crash on exit if Win...() used with a Title being a COM
object.
- Fixed: ProcessExists() on service process under Win2K.
- Fixed: DefPushButton behavior.
- Fixed: ControlCommand(SelectString) order selection.
- Fixed: Array cannot have 2^24 entries.
- Fixed: GuiCreateMenu() on a windows without title and without client area.
- Fixed: WinWaitActive() sometimes failing after a WinActivate().
- Fixed: Looping GUIRegisterMsg() doesn't unregister.
- Fixed: Focus on ES_READONLY edit control.
- Fixed: Numerous UDF fixes.
10th September, 2007 - v3.2.8.1
- Fixed: Possible crash with StringRegExp().
8th September, 2007 - v3.2.8.0
- Changed: General speed improvements (currently up to 24% in some cases
compared to 3.2.6.0).
- Changed: PCRE regular expression engine updated to 7.3.
- Changed: Recursion-based code limits relaxed.
- Added: wchar type added to DllStructCreate().
- Added: WinMove() speed parameter.
- Fixed: Crash on AutoIt exit if TrayCreateItem() is not deleted.
- Fixed: AutoIt crash on bad parameter when calling TrayCreateMenu()
- Fixed: Character positions used in StringRegExp() not correct for
characters > 127 (accents, non-Western)
- Fixed: ProcessExist() under Windows 9x.
- Fixed: GUISetState(@SW_DISABLE) not disabling keyboard input.
- Fixed: Sometimes AutoIt crashes on DllStructGetData() with char[] types.
- Fixed: Au3Info restoring last settings at startup.
- Fixed: Better handling of notifications when using colored buttons.
- Fixed: ControlGetText() crash on Scite windows.
- Fixed: $LVSCW_AUTOSIZE column truncates display string.
- Fixed: Incorrect listview creation with GUICtrlCreateListView().
- Fixed: Memory leak when AutoIt needed to get long file name.
- Fixed: ListviewItem not created after other child Window
creation/deletion.
- Fixed: ControlGetFocus() returning bad ClassNN values.
- Fixed: Detection of invalid CONTINUELOOP statement.
24th August, 2007 - v3.2.6.0
- Changed: IconId in all GUI functions is now the same as GUICtrlSetImage().
WARNING: Previous scripts using GUICtrlSetImage(), GUISetIcon(), TraySetIcon()
and TraySetPauseIcon()
may display a wrong Icon. To get the same icon "if nId > 0 Then newId = -
nId - 1".
- Changed: AutoIt .a3x and compiled script format. Exe2Aut will only
decompile 3.2.5.1
and earlier files. No ExeAut utility is supplied for ongoing versions.
- Changed: General performance improvements (currently around 30-40%
over 3.2.4.9)
- Changed: Limited Unicode support added in regular expressions.
- Changed: ControlMove() just resizing as WinMove() if X=Y=Default.
- Changed: PCRE engine updated from 7.0 to 7.1
- Changed: Suppress delay when speed=0 in MouseMove().
- Added: GUIGetStyle().
- Added: byte and ubyte type to DllCall().
- Added: ClassnameNN in control and summary info in Au3Info.
- Added: Float type to dllCall. (Thanks PaulIA)
- Added: AU3Check v1.54.8 support for both "#AutoIt3Wrapper_plugin_funcs"
and "#Compiler_plugin_funcs".
- Added: Extra parameter in ProcessClose() to close Stream handles.
- Fixed: AutoIt crash on WinWait("","text") when a Scite is open.
- Fixed: Some crashes on Chinese systems during Unicode/ANSI conversions.
- Fixed: Aut2Exe crashing on Chinese systems when running in ANSI.
- Fixed: Wrong Notification on {ENTER} after clicking on a listviewItem.
- Fixed: Wrong resetting of image on listviewitems if image set on the
listview.
- Fixed: Resizing of listview control.
- Fixed: @error not set on bad WinGetPos() return.
- Fixed: LVM_EDITLABEL hogging cpu.
- Fixed: AutoIt (non UNICODE version) crash with some COM objects.
- Fixed: GUISetState() on GUI with W=0 or H=0.
- Fixed: GUI control Tip not reappearing after a click or timeout.
- Fixed: GUI controls not at the right position if a Control menu is in
use.
- Fixed: EnvUpdate() in UNICODE AutoIt version not working since 3.2.3.3.
- Fixed: FileRead(..., count) returning count-1 chars.
- Fixed: Unicode filenames in FileInstall().
- Fixed: LVS_EX_HEADERDRAGDROP extendedstyle.
- Fixed: UpDown control shows through tabbed pages.
- Fixed: GUICtrlSetState on UPDOWN control without changing the state.
- Fixed: FileInstall() in compiled scripts causing GUI problems.
- Fixed: ControlGetFocus() on control not created with AutoIt GUI.
- Fixed: @AutoItPID and processlist coherency under Win9x.
- Fixed: GUICtrlSetResizing not returning error on non resizable control.
- Fixed: Regression for ControlSend SHIFTDOWN/UP since 3.2.3.13.
- Fixed: Drag and drop on a listview control after clicking on its header.
- Fixed: Support "resource only" dlls for GUISetImage().
- Fixed: Default minimum for GUICtrlSetLimit() set to 0.
- Fixed: Z order after GUICtrlSetStyle() on edit or input control.
- Fixed: FileReadLine() getting bad cached data when reading specific line
numbers with file handles.
- Fixed: Slight lag in GUIGetMsg() under certain circumstances.
- Fixed: StringReplace() and occurances parameter.
- Fixed: GuiCtrlSetFont() on Tab control.
- Fixed: Leading blanks before #include cannot be compiled.
- Fixed: Notification on ENTER on Colored button.
- Fixed: RegWrite() setting bad registry entry in certain circumstances.
- Fixed: AutoIt hogging CPU when text msgbox too big.
- Fixed: ControlSend() sometime to wrong control when using empty
controlid.
- Fixed: ProcessExists() under Win2K with processname >15 chars.
- Fixed: Int() with string comparison wrong match.
- Fixed: InetGetSize() in unicode version returns 0.
- Fixed: GUICtrlCreateListview() with more than 254 columns.
- Fixed: AutoIt Crash on recursive RegExp.
- Fixed: BitRotate() with left bit set.
- Fixed: Filemove() returning 1 without any move.
- Fixed: FileRead() returning chr(0) in ANSI mode.
- Fixed: Au3Info control coords relative to client.
- Fixed: StringInStr() not returning 0 when searching backward and search
length greater than string.
25th May, 2007 - v3.2.4.9
- Fixed: Basic string comparisons were not working with locale as in previous versions.
23rd May, 2007 - v3.2.4.8
- Fixed: Errors with non-western codepages and ANSI format scripts.
22nd May, 2007 - v3.2.4.7
- Added: Aut2Exe options for forcing ANSI mode compilation (/ansi and /unicode)
- Added: StringToBinary()
- Added: Additional unicode related options for BinaryToString()
20th May, 2007 - v3.2.4.6
- Fixed: StringReplace() and occurances parameter.
20th May, 2007 - v3.2.4.5
- Added: BinaryToString() for binary buffer to ANSI string quick conversions.
- Added: @Unicode macro to show if AutoIt is being run in Unicode or ANSI mode.
- Changed: StringReplace() speeded up - a lot.
- Changed: Au3Info is now resizable.
- Fixed: Chr(0) now properly works with Binary()
17th May, 2007 - v3.2.4.4
- Fixed: Chr(0) now acting more sensible (now acts in a similar way to VBScript).
17th May, 2007 - v3.2.4.3
- Fixed: FileRead() not working properly with unicode files.
15th May, 2007 - v3.2.4.2
- Changed: Au3Info graphical tweaks and Summary tab.
- Fixed: FileReadLine() getting bad cached data when reading specific line numbers with file handles.
- Fixed: Slight lag in GUIGetMsg() under certain circumstances.
13th May, 2007 - v3.2.4.1
- Added: ChrW() and AscW() for unicode operations.
- Fixed: Chr() and Asc() for character codes 128-255 in unicode mode.
- Fixed: Unicode BOM was not being written in file append modes if the file was empty.
- Fixed: Error in Include\GuiCombo.au3 and Include\IE.au3.
10th May, 2007 - v3.2.4.0
Big changes:
- AutoIt is now compiled for Unicode! AutoIt3.exe is Unicode - AutoIt3A.exe is ANSI. For more details see this page.
- Au3Info tool rewritten.
- Binary data functions completely rewritten - scripts using these functions will need to be changed.
Other changes:
- Added: New modes for FileOpen() to force Unicode and binary operations.
- Added: BinaryLen(), BinaryMid()
- Added: Colored GUI buttons.
- Added: DllStruct...() can reference elements by name rather than index.
- Changed: Removed restrictions on the maximum number of #include directives.
- Changed: Removed restrictions on the maximum number of DllOpen() handles.
- Changed: Removed restrictions on the maximum number of open files.
- Changed: Removed restrictions on the maximum number of hotkeys.
- Changed: Performance improvements in StringStripWS().
- Changed: Binary data in variants are now treated as a special type, separate from normal strings.
- Changed: BinaryString() renamed to Binary()
- Changed: IsBinaryString() renamed to IsBinary()
- Changed: ControlClick() can now click a control at a certain position.
- Changed: ControlClick() can now properly simulate double-clicks.
- Changed: ControlClick() no longer forces the activation of the parent window (up to the user now).
- Changed: ControlClick() related coordinates added to Au3Info.
- Changed: Improved the searches that can be done for windows/controls/instances.
- Changed: From DEFAULT_QUALITY to PROOF_QUALITY for Change/Set Font functions.
- Changed: x^y compatible with C99 standard.
- Fixed: Possible crash when using StringStripWS(), flag 4 and empty strings.
- Fixed: GUICtrlSetLimit() for UpDown controls wher min = max.
- Fixed: GuiCtrlSetTip() not always working correctly.
- Fixed: Slow GUI tab redrawing under Windows Vista fixed.
- Fixed: HotKeySet bad notification.
- Fixed: FileGetAttrib() on pagefile.sys.
- Fixed: Invalid default parameter in GUICtrlSetData() not detected.
- Fixed: Assign does return error on array element.
- Fixed: FileOpen("test.txt", 2+8) returning error.
- Fixed: Error detection in Enum statement.
- Fixed: Opt("WinTitleMatchMode").
- Fixed: Stack corruption resulting from improper use of DllCall() now gracefully aborts the script instead of hard crashing.
- Fixed: Crash when reading empty REG_MULTI_SZ.
- Fixed: Round() not returning an integer.
- Fixed: ControlSend() to empty "" ctrl fixed for inactive window. Also shift state behavior.
- Fixed : O^(-1).
- Fixed: Non detection of illegal statement.
- Fixed: HotKeySet("^{PAUSE]",... notification.
- Fixed: {CTRLBREAK} ->{BREAK} as ctrl is user responsability.
- Fixed: $var = Default passed as parameter to Com object.
- Fixed: Edit control would always have focus the first time the GUI was displayed even if it shouldn't. This behavior also ignored $GUI_FOCUS.
- Fixed: range value for seed Number in SRandom().
- Fixed: Fileread crash if no count in raw mode.
- Fixed: Opt("WinTitleMatchMode", <0) really matching case insensitive.
- Fixed: FileSetAttrib/FileSetTime wrong setting.
- Fixed: Execute/Call recursive overflow display error message.
- Fixed: Aut2exe warning message if icon not found.
- Fixed: WinGetTitle() returns 1 on error.
- Fixed: Memory leak on keyword variable deallocation.
19th December, 2006 - v3.2.2.0
- Added: StringRegExp() and StringRegExpReplace() regular expression support (Perl compatible)
- Added: Regular expression support for Window title matching.
- Added: ShellExecute() and ShellExecuteWait() functions.
- Added: #RequireAdmin for UAC/Windows Vista
- Added: Windows vista help file entry.
- Added: GuiCtrlSetState() $GUI_DROPNOTACCEPTED.
- Added: $GUI_FOCUS, $GUINOFOCUS for listviewitem control.
- Added: IsDllStruct()
- Added: SRandom() to set seed for random number generation.
- Added: WinTitleMatchMode for case insensitive matching.
- Added: Listview Alternate coloring with $GUI_BKCOLOR_LV_ALTERNATE.
- Added: IconId can be referenced by ordinal value if negative 1-based index is used.
- Added: CompiledScript string file info for compiled script.
- Added: Support >32x32 icon from .exe/.dll in GUICtrlCreateIcon or GUICtrlSetImage.
- Added: Expanded GUICtrlSetTip() to allow creation of tooltips with titles, icons and using the balloon tip style.
- Added: Tooltip supports Default keyword.
- Added: Remark added to _PathSplit() mentioning that it does not accept command line strings, only paths.
- Added: 2 UDF's to GUIStatusBar.au3.
- Added: GUICtrlCreateIcon and GUICtrlSetImage can select in multiple icon file by name.
- Added: @KBLayout to retrieve the current keyboard configuration.
- Added: ToolTip() option to ensure the tooltip is always displaying on a monitor.
- Added: IniWriteSection() function.
- Added: @extended error code on DriveMapAdd error.
- Added: Listview Alternate coloring with $GUI_BKCOLOR_LV_ALTERNATE.
- Changed: Performance improvements (up to 100% on some scripts!).
- Changed: @error set to WinAPI GetLastError() for Run().
- Changed: Small tweak to Floor() to ensure it is not as susceptible to floating point precision errors.
- Changed: Small tweak to Ceiling() to ensure it is not as susceptible to floating point precision errors.
- Changed: PixelChecksum() is now over 30x faster.
- Changed: FileGetVersion() extra parameter to retrieve string file info.
- Fixed: MsgBox() timeout on Windows Vista.
- Fixed: GuiCtrlRead on listview control when sorted.
- Fixed: @OSVERSION on Windows 9x.
- Fixed: GuiGetCursorInfo() with Handle not retrieving mouse click info.
- Fixed: DllCall() crashes when using uint, ushort.
- Fixed: List control height when font size changes.
- Fixed: GUICtrlSetImage() not testing icon on error.
- Fixed: @ScriptDir equal @WorkingDir for rootdir (x:\).
- Fixed: GUIGetCursorInfo() (winhandle) when child not active.
- Fixed: _StringAddComma().
- Fixed: drag & drop $GUI_EVENT_DROPPED notififation on edit control.
- Fixed: Coherency of type parameter for DLLCall() and DLLSructCreate()
- Fixed: Default keyword didn't always work correctly with COM objects.
- Fixed: COM property write fails when using arguments.
- Fixed: Send/ControlSend for US international keyboard.
- Fixed: Send/ControlSend char>=chr(128) for english keyboards.
- Fixed: COM property write fails when using arguments.
- Fixed: MsgBox() with task modal flag left GUI's disabled on timeout.
- Fixed: Error reporting by messagebox even with /ErrorStdOut.
- Fixed: GUICtrlSetImage default icon value for Icon Ctrl.
- Fixed: GUIRegisterMSG() destroyed @error.
- Fixed: $LVS_SORTASCENDING with GUICtrlSetImage icon gave bad display.
- Fixed: Some Object Collections could not be parsed in one AutoIt statement.
- Fixed: Bad screen updating of already unchecked radiobuttons.
- Fixed: Tray icon tooltip not displaying the scriptname when compiled.
- Fixed: UDP... return code on error.
- Fixed: UDPRecv() crashed on bad parameter.
- Fixed: COM was corrupting floating point values.
- Fixed: GUICtrlSetState doc remarks about menu control.
- Fixed: Refresh after a GUICtrlSetBkColor().
- Fixed: Crash on line begining with ~ : "Unable to parse line".
- Fixed: IniReadSectionNames() returned bogus data in Windows 98 when the INI file was empty or did not exist.
- Fixed: @compiled when the script is compiled.
- Fixed: Send() to italian keyboard.
- Fixed: MouseMove() in secondary screen.
- Fixed: StringInStr() not converting to string search parameter.
- Fixed: Int() of a binarystring.
- Fixed: ControlSend sending() special characters.
- Fixed: Crash in Au3exe with badly formed input file in FileInstall().
- Fixed: Wrong execution of a compiled script containing FileInstall() inside #CS-#CE.
- Fixed: FileInstall() referencing a file without any path will reference it from the ScriptDir to be coherent with the compiled script.
- Fixed: Aut2exe crashed using cmdline with shortnames.
- Fixed: Tooltip state (such as icon or title) was showing up on subsequent tooltips that didn't want those items. This affected both ToolTip() and GUICtrlSetTip().)
- Fixed: GUIRegisterMSG() destroy @error.
- Fixed: $LVS_SORTASCENDING with GUICtrlSetImage() icon bad display.
- Fixed: Wrong default arguments for _ArrayToString().
- Fixed: Bad "#" instruction inhibit whole script.
13th August, 2006 - v3.2.0.1
- Fixed: (AU3INFO) Buffer overrun in control code.
- Fixed: Exe2Aut.exe was missing its digital signature.
12th August, 2006 - v3.2.0
- Added: COM object support.
- Added: "Lite" version of the SciTE editor added into the AutoIt installation.
- Added: Aut2Exe can now create .a3x encoded files (similar to .zip for .au3).
- Added: Support for custom tray icons.
- Added: "default" keyword.
- Added: IsKeyword() so "default" keyword can be used as parameter in a user function call.
- Added: Boolean support and keywords of 'false' and 'true'.
- Added: IsBool()
- Added: +=, -=, *=, /= operators.
- Added: DLLCall() cdecl and stdcall support.
- Added: DLLStruct... functions.
- Added: Limited TCP and UDP functions.
- Added: Added support for reading and writing stdio.
- Added: ConsoleRead(), ConsoleWriteError().
- Added: Ability to initialize arrays in DIM and CONST keywords.
- Added: Switch, EndSwitch structure.
- Added: HWnd() and IsHWnd() functions.
- Added: BinaryString(), IsBinaryString() functions.
- Added: FileCreateNTFSLink().
- Added: /AutoIt3ExecuteScript command line option.
- Added: Call() now supports parameters.
- Added: Execute()
- Added: @HotKeyPressed macro.
- Added: Unary NOT operations on strings are now allowed. A NOT operation on a non-empty string will result in FALSE.
- Added: Beep() and WinFlash() functions.
- Added: Floor() and Ceiling() functions.
- Added: SetError can optionally set @extended.
- Added: RegRead, RegEnumVal return the type of the value in @extended.
- Added: FileSaveDialog(), FileOpenDialog() supports multiple filter groups.
- Added: @ScriptLineNumber, @ProcessorArch, @AutoItPID.
- Added: BitRotate().
- Added: Fileopen(), FileCopy(), FileMove() additional flags to create non existent subfolders.
- Added: FileRead(), FileWrite() work with binary files.
- Added: (GUI) GUICtrlSetData text for treeview.
- Added: (GUI) $WS_EX_MDICHILD support for GUICreate().
- Added: (GUI) GUICtrlCreateGraphic(), GUICtrlSetGraphic().
- Added: (GUI) Opt('GUIEventOptions',1) to suppress window action when clicking on Minimize,restore or Maximize buttons.
- Added: (GUI) Right-click support for List/Treeview GUI control.
- Added: (GUI) GuiCtrlRead return ControlID if Opt("GUIEventCompatibilityMode',2).
- Added: (GUI) GUICtrlCreateMonthCal().
- Added: (GUI) Opt("GUIDataSeparatorChar",...).
- Added: (GUI) GUICtrlCreateObj().
- Added: (GUI) GUICtrlSetColor(), GUICtrlSetBkColor(), GUICtrlSetImage() for ListviewItem controls.
- Added: (GUI) GuiSwitch tabitemID optional parameter to allow dynamic control creation on a tabitem.
- Added: (GUI) GuiCtrlListView support Icon view.
- Added: (GUI) $GUI_WS_EX_PARENTDRAG Allow the label or pic control to be used as the title bar to drag the whole the parent window.
- Added: (GUI) GUICtrlGetHandle().
- Added: (GUI) $GUI_EVENT_DROPPED @GUI_DRAGID,@GUI_DROPID.
- Added: (GUI) GuiSetCursor(16),GuiCtrlSetCursor(16) hide the cursor.
- Added: (GUI) Allow Dragfile to any control. @GUI_DRAGFILE contain the filename to be used in the $GUI_EVENT_DROPPED.
- Added: (GUI) GUIRegisterMsg() to work with GUI WM_Message-routines at runtime.
- Added: (GUI) GUICtrlRegisterListViewSort() to create a real sorting routine for GUI ListView's.
- Added: (GUI) Icons for tab items.
- Added: (AU3INFO) AutoIt Windows Info : Now shows Style and exStyle values for the controls.
- Changed: #include search algorithm modified.
- Changed: The /c command line option has been replaced by /AutoIt3ExecuteLine.
- Changed: RegEnumKey and RegEnumVal return more precise @error to help diagnostic.
- Changed: Return,@error, @extended have to be explicit to be return by an UDF.
- Changed: FileFindFirstFile no longer returns "." or "..".
- Changed: Set _ to be a continuation character ONLY after whitespace.
- Changed: FileClose with an invalid handle no longer triggers an AutoIt runtime error.
- Changed: Fatal error message is now displayed if DLLCall cannot be executed.
- Changed: RegEnumKey and RegEnumVal return more precise @error values to help diagnostics.
- Changed: "OnAutoItExit" function is now called on system shutdown or user logoff.
- Changed: Opt() with just the "option" will now return the current value for that option.
- Changed: DllCall @error is set when function not found.
- Changed: SplashTextOn() opt=32 to center vertically.
- Changed: (GUI) GUICtrlCreateList now forces the style LBS_NOTIFY.
- Changed: (GUI) GUICtrlCreateIcon default size is 32x32.
- Changed: (AU3INFO) The default setting on Au3info was changed so that it doesn't highlight controls.
- Fixed: Many fixes - See the the technical Changelog.
7th Apr, 2005 - v3.1.1
Minor bugfix release.
- Fixed: @OSVersion did not work for Windows Server 2003
- Fixed: $LVS_EX_FULLROWSELECT in GUIConstants.au3 was incorrectly defined as $LBS...
- Fixed: @YDAY was incorrect (one day out)
- Fixed: SetError(), SetExtended() can return a value.
- Fixed: GUICtrlCreateMonthCal positioning.
- Fixed: CmdLine[] limited to 63 parameters.
- Fixed: FileSetAttrib return 1 on non existing file.
- Fixed: Filecopy not creating subdir under Netware shared.
7th Feb, 2005 - v3.1.0
- Removed: URLDownloadToFile() (Replaced by InetGet())
- Changed: For loops automatically declare the counter variable as a Local variable
- Changed: IniDelete() can also delete entire sections
- Changed: StringReplace() also returns the number of replacements in the @extended macro
- Changed: StringMid() the "count" parameter is now optional (assumes remainder of the string)
- Changed: PixelChecksum() now has optional step parameter
- Changed: Control...() functions now accept the Control ID as an extra way to identify a control
- Changed: InetGet() function can download in the background
- Changed: Reg...() functions no longer give a hard error when an unknown key is used.
- Changed: The mouse and pixel functions now have an additional "client area" mode
- Changed: Added WIN_2003 to the possible values for @OS_VERSION
- Changed: AU3Spy.exe renamed to AU3Info.exe
- Changed: Major upgrades to the AutoIt Window Info Tool (control highlighting, magnify, cursor IDs)
- Changed: FileSelectFolder() supports an initial directory as well as a root directory
- Changed: File functions no longer give fatal errors when -1 is used as a handle
- Fixed: Memory leak in SplashImageOn()
- Fixed: Expressions like "$var = $var" will now give an error if the variable wasn't previously defined
- Fixed: StringFormat() with \\ characters
- Fixed: Under rare situations after closing a script AutoIt3.exe would still appear in task manager for a while
- Fixed: Certain paths like @WindowsDir were incorrect under Windows Terminal Server
- Fixed: FileSetTime() systems in non-GMT timezones had incorrect results
- Fixed: FileMove() with UNC paths (does a real move when in the same dir rather than a copy).
- Fixed: ^ operator
- Fixed: Chr()
- Fixed: StatusBarGetText() failed when used with no "Text" parameter
- Fixed: InputBox() didn't return focus to the previously active window
- Fixed: ACos() bad result.
- Fixed: Under certain conditions, GUICtrlSetPos() could cause a label to
appear as if it had been painted multiple times.
4th Aug, 2004 - v3.0.102
Major Change: Colors now default to the standard RGB format rather than the previous BGR format. This affects PixelSearch() and PixelGetColor().
The "ColorMode" option has been added to allow old scripts to run with the old BGR mode, just
place this line at the top of your script to use the old method, e.g.:
Opt("ColorMode", 1)
If you use color functions in your code you MUST take notice of the above change and either change the colors in your code OR add the Opt ColorMode option as shown above. This especially affects BOTs and code that interacts with games.
- Changed: TimerStart() renamed to TimerInit(). TimerStop() renamed to TimerDiff()
- Changed: FileSelectFolder() flag parameter changed
- Changed: REG_MULTI_SZ values in Reg...() functions allow double NULL values
- Changed: BitOr(), BitAnd() and BitXOR() take up to 255 parameters
- Changed: Icon and windowstate options added to FileCreateShortcut()
- Changed: RunAsSet() supports extra profile handling options
- Changed: RegWrite() now accepts just the keyname in order to create a keyname with no value
- Changed: "Allow Decompilation" option added to Aut2Exe
- Changed: Aut2Exe gives feedback during compilation and gives the option to abort
- Changed: Compiled scripts run/extract much faster when using FileInstall and medium/large files
- Changed: Max number of user function limits removed
- Changed: Max number of variable limits removed
- Changed: -1 does no sleep at all for Send/Mouse delays (SendKeyDelay, etc...)
- Changed: Optional occurance parameter added to StringInStr()
- Changed: Optional default filename added to FileOpenDialog() and FileSaveDialog()
- Changed: Registry functions accept 4 letters keys (HKLM instead of HKEY_LOCAL_MACHINE, etc.)
- Changed: Remote registry keys are accepted in the form "\\computername\key\subkey"
- Changed: AutoItSetOption returns the previous setting
- Fixed: FileGetSize() works on >2GB files and in-use files
- Fixed: The expression: If "non-blank" And 1 - now evaluates as true
- Fixed: ToolTip() when the mouse is near the bottom of the screen
- Fixed: StringIsDigit()
- Fixed: Process...() functions under NT4 unable to see certain processes
- Fixed: Some keywords incorrectly allowed after a THEN keyword
11th Mar, 2004 - v3.0.101
- Added: MemGetStats()
- Fixed: Windows 95a compatibility
- Fixed: Minor help file typos
29th Feb, 2004 - v3.0.100