更新历史
重要: 查看这里 了解历史脚本破坏性(中断)修改.
这里包含了 AutoIt v3 每个重要版本的更新.
(要查看完整的正式版历史,请单击 这里. 要查看每个测试版的之间完整的更新,请单击 这里.)
23rd December, 2011 - v3.3.8.0
AutoIt:
- Added: Struct/EndStruct in DllStructCreate() to solve X86/X64 data alignment.
- Added: COM support for pure "OUT" parameters.
- Added: Additional flags added to ObjName().
- Added: DllCallAddress().
- Added: ObjCreateInterface().
- Added #1947: CHM help files now have a Forward button.
- Added #1813: Better cross referencing for Int() and Mod().
- Added: "struct" as DllCall and InterfaceDispatch data type.
- Added #2042: @OSVersion returns "Win_8" on Windows 8.
- Changed: Compiling with VC10. Added workarounds for Win2000/XP RTM to allow execution of AutoIt, Aut2Exe, Au3Info, Au3Check and AutoItHelp.
- Changed: COM Error handler passes error object as first parameter to user defined error function.
- Changed: COM Error handler properties are read-only.
- Changed: Dec() and Hex() work with 64bit integers.
- Changed: Parentheses are required when invoking objects after all method names in order to have correct internal handling.
- Changed: Dec(), Int(), Number() have second optional parameter defining non-default behavior.
- Changed: Hex() detects doubles internally and processes them respecting binary format.
- Changed: New visual style for the documetnation.
- Changed: 64bit integers have 16 characters display by default.
- Removed: COM Error object no longer exposes methods Raise() and Clear().
- Removed: Int() and Hex() no longer set @error.
- Fixed #1040: _ScreenCapture_Capture(): GDI object leak with cursor capture.
- Fixed #1599: TraySetItemText() regression for default menu item.
- Fixed #1282: WinMove before GUICtrlSetPos during GUICreation.
- Fixed #1397: Bad HotKeySet() not detected on keyboard as Russian one.
- Fixed #1531: default txtcolor for iput edit list combo updown with black theme.
- Fixed #1617: GuiCreate failure after GuiDelete can lead to a loop on Autoit exit.
- Fixed #1596: GUICtrlSetPos() default = no change.
- Fixed #1626: TCPRecv()/TCPSend() doc about Unicode transmission.
- Fixed #1633: Second AdlibRegister function starts at once when first function is too slow.
- Fixed #1653: Doc for WM_KEYLAST Windows 2000 message.
- Fixed #1669: StringRegExpReplace() doc about doubling of "\" in replace string.
- Fixed #1673: WinGetProcess() doc example.
- Fixed #1677: Invalid ContinueLoop with multiple levels.
- Fixed #1684: FileRead() binary read memory allocation error.
- Fixed #1685: BitRotate() shift parameter.
- Fixed #1734: GUICtrlCreateAVI() crash with negative subfield.
- Fixed #1923: Memory consumption while FileOpen/FileClose.
- Fixed #1883: IsHWnd(), Return Value. (Nitpick: Value = Bool).
- Fixed #1860: DriveStatus Returns Ready with blank value.
- Fixed #1854: StringIsFloat returns 1 on non float numbers.
- Fixed #1910: Please change $TTN_GETDISPINFO to $TTN_GETDISPINFOW.
- Fixed #1844: SplashTextOn crops variable when used with opt 32 and @CRLF / @LF.
- Fixed #1932: Uninstaller, windows-register, App Paths. (+beta).
- Fixed #1929: SetMenuColor() does not work on 64bit OS.
- Fixed #1479: X64 ListView WM_NOTIFY Message.
- Fixed: GUICtrlCreateLabel() related text sizing bug when no height was used.
- Fixed #1586: DllStructSetData(char, 1, string-with-NUL-character), junk data(?)
- Fixed #1908: ObjName() returns empty string for HTMLDocument with IE9.
- Fixed #1658: COM / OLE object access causes error code 80020003 - member not found.
- Fixed #1410: Using Pointer type with COM-object throws error.
- Fixed #1565: Arrays as object properties; memory leak.
- Fixed: ObjCreate() memory leak when using a remote computer.
- Fixed #865: winhttp.winhttprequest.5.1 ObjEvent unhandled exception.
- Fixed: Remote COM bug caused by incorrect CoCreateInstanceEx() parameter.
- Fixed: Potential memory leak in COM error event code.
- Fixed #1660: Crash on Mod() with a divisor of 0.
- Fixed: COM methods no longer change the type of AutoIt variables.
- Fixed #2001: Example for _GUICtrlToolbar_SetButtonText() did not work correctly.
- Fixed #1994: Documentation for _ScreenCapture_Capture() and _ScreenCapture_CaptureWnd() incorrectly stated the functions had no return value. Moved information from Remarks up to Return area.
- Fixed #1948: Documentation for _GUICtrlButton_SetImage() had the wrong description.
- Fixed #1519, #1694: Int() and Number() returning wrong.
- Fixed: Various documentation typos and grammatical errors.
- Fixed #1982: Crash in FileGetShortName() and FileGetLongName().
- Fixed #2046: DirGetSize("") was returning the size of the working directory root instead of -1 and setting @error.
AutoItX:
- Fixed #1686: AU3_PixelSearch crashes.
Au3Info:
- Added: Option "Use Spy++ control detection logic" toggle added to Au3Info (this was the mode always used in recent releases, but the very old method that used to be used is useful in certain applications (for example, putty.exe)
- Fixed #1746: Option "Use Spy++ control detection logic" toggle added to Au3Info.
UDFs:
- Added: _DebugSetup() can report to a Notepad Window.
- Added #1371: Allow Default keyword in _TempFile().
- Added #1527: Test example to have doc example working.
- Added #1636: _Security__LookupAccountSID() for Remote Systems.
- Added #1569: _ArraySearch() $iPartial (->$iCompare) extended to match on variables of same type.
- Added #1557: VK_xBUTTON in Constants.au3.
- Added #1890: Better cross-referencing for _WinAPI_GetParent() and _WinAPI_GetAncestor().
- Added #1925: $WS_EX_LAYOUTRTL control style to the documentation.
- Added #2049: Missing windows message codes to WindowsConstants.au3.
- Added: _WinAPI_StringLenA() and _WinAPI_StringLenW() functions.
- Added: _WinAPI_DuplicateHandle() function.
- Added: _Security__CreateProcessWithToken(), _Security__DuplicateTokenEx and _Security__SetTokenInformation functions.
- Fixed #1542: _DebugSetup() closing when use with GUI handling events.
- Fixed #1549: _SQLite_Escape() crash for strings > 64K (> 3.3.0.0).
- Fixed #1517: _GUICtrlListView_simpleSort with checkbox.
- Fixed #1588: AUtoIt3.exe stay active for all processes using the Window report.
- Fixed #1615: _GUICtrlTreeView_SetStateImageIndex() with index = 0.
- Fixed #1620: _DebugOut() or _DebugReportVar() containing '.
- Fixed #1513: Allow _GUI...() to use notification callback (LPSTR_TEXTCALLBACK).
- Fixed #1608: _Crypt_EncryptFile() for file >1Mb.
- Fixed #1644: _InetMail() with Windows Live mail.
- Fixed #1453: _Net_Share_ShareCheck return always 0.
- Fixed #1664: _GUICtrlTab_GetItem() does not return text.
- Fixed #1671: _WinAPI_WideCharToMultiByte() doc.
- Fixed #1672: _WinAPI_GetObject() reference ANSI version.
- Fixed #1665: _ScreenCapture_CaptureWnd() when running with Aero theme.
- Fixed #1689: _Debug...() cannot be obfuscated.
- Fixed #1712: _FileWriteFromArray() crash on array.
- Fixed #1754: _PathFull() optional parameter doc.
- Fixed #1756: _GDIPlus_Startup() Flaw on error.
- Fixed #1920: Script crashes with error reported in Security.au3 at line 85.
- Fixed #1895: Bugs in _GUIScrollBars_Init().
- Fixed #1891: _ArrayDisplay (......,i$iTranspose,...) wrong description.
- Fixed #1933: _GetIP is outdated and could possibly fail.
- Fixed #1859: Bug in _WeekNumberISO?
- Fixed #2009: Incorrect styles listed in _GUICtrlToolbar_Create().
- Fixed #1009: SQLite library needs to support a user-defined callback for diagnostic messages instead of hard-coding ConsoleWrite().
- Fixed #1985: _IECreate() now ensures focus is given to the document when an about URI is loaded (such as about:blank). IE9 gives focus to the URL bar which can cause later issues setting focus to elements.
- Fixed #2004: Functions that accept Control ID/Handle were not correctly documented.
- Fixed #1951: Missing parameter in documentation for _SQLite_SQLiteExe().
- Fixed #1442: File handle can now be passed to _FileWriteLog().
- Fixed #1777: Issues with Security.au3.
- Fixed #2055: replaced DllStructGetPtr with "struct*" throughout UDFs.
- Fixed #2048: Windows constants $WM_RBUTTONDBLCLK and $WM_MBUTTONDBLCLK were named incorrectly.
- Fixed #2034: _GUICtrlMenu_AppendMenu dllcall type set wrong.
- Fixed #2060: Various documentation errors.
- Changed: _SQLite 3.6.22 -> 3.7.2.0
- Changed: _IEFormElementSetValue() examples #3 removed (login to Hotmail).
- Changed: _IEFormElementSetValue() examples #4 and #5 (now #3 and #4) use the text input instead of the file input. The file input is read-only on IE9 so the Send()/ControlSend() produced no results.
Au3Check:
- Added: #forcedef directive to force var definition as after Assign().
- Added: -w 7 to check ByRef parameter passing.
- Fixed: Const Enum wrong ERROR.
- Fixed: Global declared in func not detected.
- Fixed #1051: no ERROR if keyword not followed by a separator as Local$a.
16th April, 2010 - v3.3.6.1
AutoIt:
- Fixed #1515: FileOpen() still opening in exclusive mode in some situations.
7th March, 2010 - v3.3.6.0
AutoIt:
- Added #1376: FileOpen() mode parameter is now optional. Default mode is read.
- Added #1054: Added FileGetEncoding().
- Added: ControlCommand() "SendCommandID" - used to send WM_COMMAND Control ID messages. Allows the automation of ToolBarWindow32 controls (amongst others). For example, the "Back" button of Internet Explorer. Use Au3Info to get the Command ID from
the ToolBar tab.
- Fixed #1428: AdlibRegister/Unregister() were incorrectly using case-sensitive function names.
- Fixed #1448: #OnAutoItStartRegister did not work in compiled scripts.
- Fixed #961: RegDelete() was not working properly on 64bit keys when using the 32bit version of AutoIt and HKLM64.
- Fixed: Regression in FileOpen() where it wasn't allowed to open files in read mode if they were already open in write mode.
- Fixed #1449: GUICtrlDelete() not working for GUICtrlCreateDummy() types.
- Fixed #1458: Inet sizes were capped to 32-bits.
- Fixed #1459: Hard crash when too much recursion is used.
- Fixed #1464: Regular expressions with a single character * pattern were stopping after the first null match.
- Fixed #1463: StringToASCIIArray() working incorrectly with UTF8 characters.
- Fixed #1475: TrayItemSetState($Value, $Tray_Checked) incorrectly enables a disabled TrayItem.
- Changed: Send() and ControlSend() code reworked to allow for more Unicode characters to be used.
- Changed: FileWriteLine() performance improved.
Aut2Exe
- Fixed #1409: Ctrl+C is no longer the shortcut for Convert. It is now Ctrl+G (Go) to avoid clashing with a Ctrl+C copy operation..
Au3Info
- Fixed #1444: Controls in applications like RegEdit were left highlighted.
- Fixed #1391: ToolbarWindow32 info only showing the first toolbar.
AutoIt3Help
- Fixed #1423: "Open Script" button stopped working.
AutoItX
- Fixed: Missing .lib files readded.
UDFs:
- Fixed #1438: AutoIt error when using _ArrayCombinations().
- Fixed #1454: StringBetween() not working correctly.
- Fixed #1441: _GUICtrlRichEdit_GetText() using wrong buffer length.
- Fixed #1446: _ScreenCapture_Capture() was using height/width of 1 pixel less.
- Fixed #1445: Documentation updated for _MemGlobalFree().
- Fixed #1469: _GDIPlus_BitmapCloneArea() documentation updated.
- Fixed #1466: _GUICtrlEdit_GetLine() returns an unexpected character.
- Fixed #1487: _DateToDayOfWeekIso returned 0-6 but should be 1-7 where Monday = 1
15th January, 2010 - v3.3.4.0
AutoIt:
- Added: Ability to read and write UTF-8 files with no BOM including automatic detection during reading.
- Added #682: Removed the 64KB limitation for FileReadLine()
- Added: AutoIt scripts using the line continuation character "_" are no longer limited to a combined line length of 4095 characters.
- Added: FileRead() returns the number of characters/bytes read in @extended.
- Added #1311: MouseGetCursor() returns hand cursor.
- Fixed #384: Under certain circumstances the network credentials flag would prevent the process from starting when launched with RunAs() or RunAsWait().
- Fixed #1370: StringInStr() would crash with a negative occurrence and start position greater than the string length.
- Fixed #1367: Calling GUIDelete() from a GUIRegisterMsg() callback that returns $GUI_RUNDEFMSG would crash AutoIt.
- Fixed #1363: FileSetPos() did not work when the origin was the current position.
- Fixed #1355: Regression in how unsigned numbers are displayed when returned from DllCall().
- Fixed #1396: Crash in DllCallbackGetPtr() with invalid handle.
- Fixed #1352: StringSplit() hard crash with binary data.
- Fixed #1398: Fixed declaration of $tagPARAFORMAT2 from GuiRichEdit.au3
- Removed: The "RAW" reading mode from FileOpen() has been removed.
- Removed: InetGet("abort"), @InetGetActive and @InetGetBytesRead have been removed.
- Removed: AdlibEnable() and AdlibDisable() have been removed.
- Removed: OnAutoItStart and OnAutoItExit have been removed.
AutoIt3Help
- Fixed #1327: Some keywords would fail to open correctly in rare cases.
UDFs:
- Changed: _SQLite 3.6.19 -> 3.6.22
- Fixed #1338: bad _ArrayDisplay() GUI position error.
- Fixed #1362: _WinAPI_WindowFromPoint() did not work with 64-bit AutoIt.
- Fixed #1389: _IEAttach() could fail if called multiple times.
- Fixed #1353: _FileWriteToLine() excessively strict on input text type.
- Fixed: SQLite.au3 various errors in _SQLite_FetchData, $iCharSize, _SQLite_QuerySingleRow, _SQLite_GetTable2d, _SQLite_Display2DResult by jchd.
18th December, 2009 - v3.3.2.0
AutoIt:
- Added #529: Added the "NAME" property to allow direct search for .NET WinForm control names.
- Added #757: Set defaults for MouseClick()'s x/y parameters.
- Added #764: Return Pid on ProcessWait() and handle on WinWait(), WinWaitActive, WinActivate(), WinActive(), WinMove() when successful.
- Added #414: better handling of OnAutoItStart/OnAutoItExit, now #OnAutoItStartRegister, OnAutoItExitRegister() and OnAutoItExitUnRegister().
- Added: Better handling of AdlibEnable/AdlibDisable, now AdlibRegister(), AdlibUnRegister() and AdlibDisable().
- Added #351: Reverse PixelSearch().
- Added #769: FileFlush() function.
- Added #333: #NoAutoIt3Execute Directive for disabling /AutoIt3ExecuteScript or /AutoIt3ExecuteLine.
- Added #604: $GUI_BKCOLOR_TRANSPARENT can be used with label, group, radio, checkbox controls.
- Added #135: FileSetPos(), FileGetPos() functions for moving the file pointer around.
- Added #582: GUICtrlSetTip() can be used on TabItem controls.
- Added #699: Shutdown() now return @error=GetLastError() when failing.
- Added #461: StringReplace() from right to left if occurrence <0 as for StringInStr().
- Added: GUICtrlSetColor() and GUICtrlSetBkColor() for Combo Controls.
- Added: GUI without title bar (no $WS_CAPTION) can be moved with the mouse.
- Added #815: Temporary variables can be passed ByRef.
- Added #837: FileFindNextFile() set @extended if a directory is returned.
- Added #839: Shutdown() rewritten and now works properly when run as a non-interactive user.
- Added: Shutdown() now takes an optional reason code.
- Added #846: _PathFull() now supports strange but valid syntax where drives do not have a trailing slash.
- Added #869: @MUILang macro to help MUI environment scripts.
- Added #918: Added Quality parameter to GUICtrlSetFont() and GUISetFont().
- Added: ProcessClose() return info on error.
- Added: PixelChecksum() extra parameter to select CRC32 instead of ADLER.
- Added #984: @OSVersion now returns "WIN_XPe" for Windows XP Embedded.
- Added #938: UDPOpen() flag to allow broadcasting with 255.255.255.255.
- Added: new types to DllCall and DllStruct to avoid confusion with MSDN description. That avoid specially X64 errors.
- Added #351: PixelSearch() now supports both right-to-left and bottom-to-top searches.
- Added #508: Static keyword.
- Added #1056: New Inet option to by-pass forcing the connection online.
- Added: DllStructSetData() and DllStructGetData() index parameter now supports the Default keyword.
- Added #1270: GuiSetIcon() now finds suitable large and small icons.
- Added: HttpSetUserAgent(), InetClose(), InetGetInfo() and InetRead() functions.
- Added: Multiple background downloads are now supported with InetGet().
- Added #408: New flag for ignoring SSL errors for HTTPS connections.
- Added #884: Better proxy support with mode 0.
- Added #949: The user-agent can be changed.
- Fixed: CtrlSetStyle listview on non selected tab.
- Fixed #763: GUICtrlCreateIcon() create an empty icon on error.
- Fixed: no mouse move when invalid button used in MouseClick() or MouseClickDrag().
- Fixed #779: infinite loop on Exit due to GUICreate() child badly created.
- Fixed #774: GuiCtrlSetBkColor() bad label display.
- Fixed #790: Windows region constant $ERROR rename in $ERRORREGION.
- Fixed: StringInStr("aaa", "aa", 2) does not return 0.
- Fixed #802: Searching for controls by Height property.
- Fixed: Checkbox or radio painting on tab.
- Fixed #816: data for GUI date control doc clarification.
- Fixed #819: Crash with EventLog functions.
- Fixed #814: InetGet() through a proxy requiring authentication did not work.
- Fixed #813: bad handling of Windows advanced matching for [HANDLE:...] in X64 version.
- Fixed #863: DirMove() extra dot.
- Fixed #867: UDPRecv() can return from IP/Port.
- Fixed #886: More explicit documentation that operator == is a forced string comparison.
- Fixed #885: Default compared to False returned True instead of False.
- Fixed #888: Send("{}}") Extra null char.
- Fixed: DllCall() returning 64-bit int.
- Fixed: GuiCtrlSetImage() after GUI resized.
- Fixed: DirMove() return code wrong under XP.
- Fixed #931: bad GUICtrlSetResizing() for graphic control.
- Fixed #934: MouseGetCursor() hogging mouse double click.
- Fixed #615: License updated to be less restrictive.
- Fixed #919: Remarks added to ConsoleWrite(), ConsoleWriteError() and StdinWrite() regarding how those functions handle binary data and non-ANSI characters.
- Fixed #897: Documented that StringToASCIIArray() does not accept binary input (convert to a string first).
- Fixed #937: Bad event handling of Opt("TrayMenuMode",1)
- Fixed #969: FileFindNextFile() does not set @extended if first found is a dir.
- Fixed #1006: @MSEC returned wrong value for values < 100.
- Fixed #1010: FileRead() UTF8 with BOM files return too many chars.
- Fixed #1013: MDI childs doesn't adjust to parent windows client area.
- Fixed #1005: TraySetClick(64) = hovering.
- Fixed: ClipPut("") not emptying.
- Fixed #1068: Binary to Int.
- Fixed: Bad painting on double GUICtrlSetPos() for label.
- Fixed #1094: Send("{LSHIFT UP}") stay down.
- Fixed #1074: Inputbox() positionning on multi monitor.
- Fixed #1105: disable colored Multiline button not properly displayed.
- Fixed #1077: GUICtrlSetBkColor() bad recoloring.
- Fixed #1116: GUICtrlCreateGraphic don't follow ResizeMode.
- Fixed #1102: Better documentation of the StringInStr() count parameter.
- Fixed #1161: Removed all documentation references to ColorMode.
- Fixed #1156: AutoItSetOption()/Opt() now set @error instead of generating a fatal error with invalid input.
- Fixed: Comparing pointers now works correctly.
- Fixed #906: ActiveX controls were not told what their initial size was.
- Fixed: Boolean tests on binary strings now behaves properly.
- Fixed #1234: COM methods that modified boolean arguments could change them to ints.
- Fixed #1258: System menu could display when trying to dismiss a control menu.
- Fixed #1288: Documented how DllStructSetData() and DllStructGetData() work with arrays when omitting the index parameter.
- Fixed #1300: DLLs could unload when calling DllCall() with an invalid function.
- Fixed #1295: Unicode to ANSI conversion was crashing in certain situations.
- Fixed #1304: _GDIPlus_BitmapLockBits() now correctly takes a Width and Height parameter instead of a Right and Bottom.
- Fixed #1294: Fixed AutoIt deadlock when using the following functions with hanged windows: WinGetTitle, WinSetTitle, WinGetText, WinFlash, WinSetOnTop
- Fixed #1332: Mod() forced a conversion to floating point numbers when it didn't need to which can cause unexpected output.
- Fixed #1321: DllStructCreate() did not support _ in data names. Documented valid characters for data name.
- Fixed #1322: Crash when using ControlCommand("GetSelected") on non-Edit controls.
- Fixed #1325: Some date functions could attempt to access an invalid array.
- Fixed #1345: Number() failed to handle numbers with a trailing decimal point.
- Changed: It is now possible to read from files opened for writing.
- Changed: PCRE regular expression engine updated to 8.00.
- Changed #899: ShellExecute[Wait]() no longer uses "open" as the default verb. See remarks section for those functions for more information.
- Changed: Inet functions rewritten with the following additions and changes:
- Removed: Long deprecate URLDownloadToFile() alias for InetGet().
- Changed: InetGet() returns a handle which must be closed.
- Changed: @InetGetBytes, @InetGetActive and InetGet("abort") are deprecated and will be removed in the future.
- Changed #968: AutoUpdateIt updated by ProgAndy to use new Inet features.
- Changed: @YDAY now returns values in the range 001 - 366 instead of 1 - 366. This makes the macro more consistent with other languages (like C/C++) and more consistent with all other date related macros which return strings with leading 0s to pad
the length. THIS IS A SCRIPT BREAKING CHANGE.
- Changed #1080: InetGet background downloads now return immediately instead of connecting to the remote host first.
- Changed #1137: RegEnumKey() and RegEnumVal() now correctly return an empty string on failure instead of an error message string.
- Changed: PixelChecksum() can calculate checksums from right-to-left and bottom-to-top.
- Changed: InputBox() no longer requires passing both x and y or w and h.
- Changed #1056: Added new Inet option to by-pass forcing the connection online.
AutoItX:
- Removed: ColorMode option removed from AutoItSetOption()
Au3info:
- Removed: ColorMode BGR option removed since AutoIt no longer supports the option to use BGR mode.
- Added: Control information now includes the .NET WinForm if available.
- Added #140: ToolsBar button info.
Aut2Exe:
- Fixed #1283: Added new option /x86 to force a 32-bit build and re-added /unicode which also forces a 32-bit build.
Au3check
- Fixed #1239: Incorrect library search order.
Others
- Added #1050: TextPad v5 syntax files installation.
UDFs:
- Added: _GDIPlus_BrushGetSolidColor, _GDIPlus_BrushSetSolidColor
- Added: $tagWIN32_FIND_DATA and corresponding attribute constants.
- Added #868: _WinAPI_GetLayeredWindowAttributes(), _WinAPI_SetLayeredWindowAttributes().
- Added: _Date_Time_ ... Str() can return date as yyyy/mm/dd.
- Added #271: FTPEx.au3 for _FTP_...().
- Added #932: mouse event constants in WinDowsConstants.au3.
- Added #952: _ArrayDisplay() extra parameter for column header text.
- Added #957: _Assert() in Debug.au3.
- Added: _WinAPI_GetGuiResources()
- Added #981: _WinAPI_WideCharToMultiByte(), _WinAPI_MultiByteToWideChar() support IN/OUT as "strings"
- Added #1157: Encryption functions in Crypt.au3.
- Added #1128: _WinAPI_PathFindOnPath() in WinAPI.au3.
- Added #1228: _FTP_SetStatusCallback(), _FTP_DecodeInternetStatus() in FTPEx.au3.
- Fixed #755: _FileReadToArray() removing empty end lines.
- Fixed #773: Doc for _GUICtrlStatusBar_SetParts.
- Fixed #786: _SQLite_Exec() does not return @error.
- Fixed #809: _Soundxxx() with first parameter as filename.
- Fixed #887: Related section based on Tweaky work.
- Fixed #951: _ArrayDisplay() speed improvement for nb entries >4000.
- Fixed: _SoundOpen() set @error on MCI Error.
- Fixed #1015: _SQLite_SaveMode() renamed as _SQLite_SafeMode().
- Fixed #1016: _WordDocSaveAs() Doc for error handling.
- Fixed: Sound positioning in case of VBR Format Sound.
- Fixed #1028: _Clipboard_GetData() fix.
- Fixed #1031: _Clipboard_SetData() fix.
- Fixed #1040: _ScreenCapture_Capture() leak memory.
- Fixed #1026: _Gdiplus_BitmapCreate*() doc examples.
- Fixed #1092: _Timer_...() datatype for X64.
- Fixed #1059: Incorrect error handling in _FileListToArray().
- Fixed #1101: _NowTime(), _NowDate() Doc.
- Fixed: _WinAPI_GetWindowLong(), _WinAPI_SetWindowLong support X64.
- Fixed #1111: Bad grammar in comments for _DateAdd().
- Fixed: UDF library now uses #include "" instead of #include <>.
- Fixed #1033: UDF library now has better and more consistent error handling when DllCall() is used.
- Fixed #1215: _ArraySearch() not searching on 2D array.
- Fixed #1168: _ExcelBookOpen() now selects the first visible worksheet to prevent a COM error.
- Fixed #1247: Documented that some _GUICtrlComboBoxEx_* functions don't work with certain ComboBox styles.
- Fixed #1260: Potential buffer overflow in _WinAPI_GetLastErrorMessage().
- Fixed #1276: _TicksToTime() incorrectly rounded seconds up.
- Fixed #1277: Resource clean-up in example script for _GDIPlus_ImageGetGraphicsContext.
- Fixed #1290: Invalid Left coordinate when using _GUICtrlTreeView_DisplayRectEx().
- Fixed #1296: _GUICtrlTreeView_ClickItem() could click outside the control's parent window.
- Fixed #1312: Errors with _GUIImageList_BeginDrag() example.
- Fixed #1320: _GUIImageList_DragMove() documentation contained a parameter that doesn't exist.
- Changed: _StringBetween removed last optional param (not needed after change)(SmOke_N)
- Changed: _StringToHex(), _HexToString() and _StringReverse() have been rewritten and are faster.
- Changed: _SQLite 3.6.7 -> 3.6.19 (SQL statement support UNICODE characters)
- Changed: _InetGetSource() now uses InetRead().
- Removed: _StringAddThousandsSep() has been removed. Too many opinions on how the function should work means nobody is happy with it.
- Removed #1112: __WinAPI_Check() has been removed as have all calls to it.
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