AutoIt Changelog ================ 3.3.16.1 (19th September, 2022) (Release) AutoIt: - Fixed #3866: REGEXPCLASS broken in 3.3.16.0. - Fixed #3865: Image Control resizing behave as forced $GUI_DOCKWIDTH and $GUI_DOCKHEIGHT. - Fixed #3864: StringRegExp() crash with patterns that cause infinite recursion. - Fixed #3876: Hex Number Arithmetic is incorrect. - Fixed #3869: Subtraction operator before power operation is parsed incorrectly. - Fixed #3879: Dim Map to Array. - Fixed #3875: GUICtrlSetResizing() performance by Reverting #3831: GUICtrlSetPos() $GUI_DOCKHCENTER. - Fixed: missing uninstalling file GUICtrlInternals.au3 since 3.3.15.2. - Fixed: regression GUICtrlSetResizing() $GUI_DOCKBOTTOM full screen with WS_POPUP style. UDFs: - Added: UBound[2] example. - Added: StringRegExp[5] example. - Added: _GUICtrlEdit_SetPadding() function and example. - Added: _WinAPI_RegDeleteKey() can use $hKey as in RegRead(). - Added #3863: _WinAPI_GetCapture(). - Added: Allows _DebugArrayDisplay() to be used in UserFunc. - Added: _ArrayDisplay() and _DebugArrayDisplay() support Min Column width. - Added: _Array2DCreate() support 1D and/or 2D arrays. - Added: _DebugReportVar() display DllStruct content. - Added: _ArrayDisplay() and _DebugArrayDisplay() display {Array[dims]}, {Map[nentry]} and {Object}. - Fixed #3867: Changes in 'SecurityConstants.au3' to avoid name conflict. THIS IS A SCRIPT BREAKING CHANGE - Fixed: Regression in 3.3.15.1, _WinAPI_RegCreateKey() and _WinAPI_RegOpenkey(). - Fixed: Regression of #3835 on _GDIPlus_GraphicsGet*(). - Fixed #3871: _ArrayDisplay() Hang sorted array with Null element. - Fixed: _FTP_FileGetSize() very big size. - Fixed #3872: FTP-Server in AutoIt Help no longer accessible. - Fixed #3877: GUICtrlCreateLabel() overlapping controls doc precision ($WS_CLIPSIBLINGS). - Fixed #3883: _DebugArrayDisplay() produces uncalled console message. 3.3.16.0 (6th March, 2022) (Release) AutoIt: - Changed: PCRE regular expression engine updated to 8.44. - Added #3741: GUISetStyle() example to avoid blank title bar. - Added #3681: Lang Variable prefix "o". - Added #3670: DriveGetDrive() @error doc clarification. - Added #3574: GuiCtrlCreateInput() Doc $ES_AUTOHSCROLL precision. - Added: doc pages about ControlID/Handle and String/Encoding. - Added #2375: SetError(), SetExtended() doc precision. - Added #3780: WinSetTitle() on notepad.exe is reverted when the windows get focus starting Windows 19H1 !!! - Added #3222: Doc precision for statement with 2 FileInstall(). - Added: ConsoleWrite() preserves the @error and @extended. - Added: ConsoleWriteError() preserves the @error and @extended. - Added #2938: Add "GetCount" to ControlCommand() - Added #3539: FileGetTime() UTC. - Added #3808: ProgressOn()/ProgressSet() - size of the progress window - Added #3662: FileGetTime() Msec. - Added #3826: GUI "On event" While loop precision. - Added #3662: FileGetTime() Msec. - Added: Doc Symbolic constants for MouseGetCursor(), GUISetCursor() $MCID_*. - Added #3849: @OSVersion for Windows 11 and Server 2022. - Fixed #2962: GUICtrlSetImage() on GUICtrlCreatePIC() with $SS_SUNKEN or WS_EX_DLGMODALFRAME - Fixed #2806: GUICtrlCreateIcon() doc when filename="". - Fixed #3580: FileSetAttrib() crashing on root folders. - Fixed #3636: Applied the SS_NOPREFIX style to the SplashTextOn dialog. - Fixed #3689: GUICtrlSetOnEvent ( controlID, "" ) wasn't disabling the previous set UDF and returned error=1. - Fixed #3707: GUISetOnEvent($GUI_EVENT_CLOSE, "") wasn't disabling the previous set UDF and returned error=1. - Fixed: GUIOnEventMode and TrayOnEventMode options had unnecessary slow downs. - Fixed: Workarounds added to alleviate slow downs on Windows 10 1809 and later (OS bug/design change). - Fixed: Missing Opt("SetExitCode", 1) and AutoIt3 Exit codes in doc. - Fixed #3211: Doc precision for hwnd parameter in Pixel*() functions. - Fixed #3774: Doc precision about Null keyword comparison. - Fixed #3579: DllStructGetData() doc precision. - Fixed #3021: bad obj calling. - Fixed #3106: StringIsFloat() doesn't accept a valid FP exponent. - Fixed #3135: StdioClose memory leak. - Fixed #3165: Call UBound Array[0] AutoIt Crash. - Fixed #3167: Com error handler not called. - Fixed #3179: Number() failure with lower case hex. - Fixed #3182: MouseMove() on multiple screens. - Fixed #3232: Issue when parsing scientific notation literals. - Fixed #3659: InetClose() always false. - Fixed #3682: GuiCtrlCreatePic() with h=0 and w=0. - Fixed #3701: Crash with array 2^24. - Fixed #3710: @OSVersion for Server 2019. - Fixed #3743: [LAST] and WinWaitClose(), WinExists(), WinGetHandle(), etc. - Fixed #3772: int64 = -9223372036854775808 not handled properly. - Fixed #3778: ToolTip() position. - Fixed #3789: FileRead() on big ANSI file (1Gb). - Fixed #3790: UCS2 compare empty string. - Fixed #3807: GUISetIcon() in taskbar. - Fixed #3809: WinGetTitle() on windows created with _WinAPI_CreateWindowEx(). - Fixed #3817: Double to Int64 conversion. - Fixed #3836: FileExits() trailing quotation mark. - Fixed #3844: Right bracket does not register as a hotkey. - Fixed #3830: GUICtrlSetResizing() $GUI_DOCKBOTTOM fullscreen. - Fixed #3831: GUICtrlSetPos() $GUI_DOCKHCENTER. - Fixed #2866: RegRead() x64 remote from x86. - Fixed #3667: empty continuation line. - Fixed #3760: oversized Number() conversion. - Fixed #3215: GUICtrlCreateUpdown() Show-Hide. - Fixed #3794: StringRegExp updated to not use a string copy internally. AutoItX: - Changed: AutoItX .NET assembly updated to .NET 4.0 / CLR 4. - Changed: AutoIt PowerShell CmdLets updated to .NET 4.0 / CLR 4. - Changed: Updated C++ example. - Fixed #3642: ControlTreeView example. - Fixed: run*() showflag default SW_SHOWNORMAL. Aut2Exe: - Fixed #2383: Aut2exe GUI dropped files. - Added #3684: Aut2exe title with version. Au3Check: - Fixed #2822: object('item')('item') syntax support. - Fixed #3560: parentheses around function reference. - Fixed #3785: Crash if too many includes. Au3info: - Added #3938: DPI scaling Support. UDFs: - Changed: slight improvement when _DebugReport() display "error code:" different from 0. - Changed: _WinAPI_Reg*() doc and examples. - Changed: _SQLite 3.22.0.0 -> 3.28.0.0. - Changed #3620: Removed "stable" from _ArraySort function header. - Changed: Updated used Excel constant enumerations in ExcelConstants.au3 to Excel 2016. - Added: Extras\AutoUpdateIt\AutoSQLiteUpdateIt.au3 script to download sqlite dll's used by _SQLite_Startup(). - Added #3149: _SQLite_GetTableData2D() simplified version of _SQLite_GetTable2d() returning just data. - Added: RegWrite() doc and example about #requireAdmin. - Added: $ARRAYDISPLAY_ROWPREFIX to change the prefix of the row numbering in _ArrayDisplay(). - Added: _Assert() use if needed _DebugReport(). - Added #3027: _WinAPI_RegEnumKey() return the lastWriteTime of the subkey in @extended. - Added: _WinAPI_RegCreateKey() and _WinAPI_RegOpenkey() can use $hKey as in RegRead(). - Added: _WinAPI_RegDeleteKey() new parameter $iAccess. - Added: $ARRAYDISPLAY_CHECKERROR for _ArrayDisplay() avoid display after _Array*() errors. - Added: _DebugArrayDisplay() write a _DebugReport() if @error set when called. - Added: _WinAPI_ShellQueryRecycleBin() example. - Added: $REG_ERROR_MORE_DATA for _WinAPI_RegQueryValue(). - Added: _DebugReportVar() support Array 3D. - Added: _GUICtrl*() using GUICtrlInternals.au3 (Internal maintenability). - Added #3753: _GUICtrlListView_SetImageList sanity check on $iType parameter. - Added #3514: _GUICtrlTreeView_GetLastItem() (Thanks Crazzy). - Added #3611: _GUICtrlListView_SetBkHBITMAP() (Thanks Alofa). - Added #3695: _SQLite_Display2DResult() 2 additional parameters $sDelim_Col and $sDelim_Row. - Added #3675: WinNET.au3 $tagNETRESOURCE: Add constants. - Added #3740: _ChooseColor() support Custom colors (Thanks argumentum). - Added #3547: _FormatAutoItExitCode() and _FormatAutoItExitMethod(). - Added #3696: _ArrayFromString(). - Added #3771: ColorConstants.au3 now include all W3C extended colors. THIS IS A small SCRIPT BREAKING CHANGE - Added #3739: _Array2DCreate(). - Added #3550: _Date_Time_SystemTimeToDateTimeStr() support 2 new formats to return GMT or ISO8601 format. - Added: _WinAPI_CreateProcess() example. - Added #3804: _GUICtrlMenu_CreateMenu() example to demonstrate menuclick non blocking. - Added #3806: _GDIPlus_GraphicsDrawString() with AlphaColor font. - Added #3811: _SQLite_Startup() new parameter to allow return AutoIt Type variables by _SQLite_FetchData(). - Added: _GUICtrlListView_GetSelectedIndices() optimisation (Thanks pixelsearch). - Added: _WinAPI_GetProcessName() and _WinAPI_GetParentProcessName() doc example (Thanks argumentum). - Added #3813: _MemGlobalRealloc(). - Added #3816: _WinAPI_ReadDirectoryChanges() example with magic number. - Added: SpeedUp display and sorting of ArrayDisplay() and _DebugArrayDisplay() (Thanks LarsJ). - Added: $ARRAYDISPLAY_NUMERICSORT for selected column for _ArrayDisplay() and _DebugArrayDisplay(). - Added: _GUICtrlEdit_SetPadding(). - Added: _WinAPI_ShellExecuteEx() Doc example. - Fixed #3605: _GUICtrlListView_SetBkImage() does not accept control ID. - Fixed: _GUICtrlEdit_GetCueBanner() and _GUICtrlEdit_ShowBalloonTip() using Unicode string. - Fixed: Use _WinAPI_GetString() instead of _WinAPI_WideCharToMultiByte() to handle Unicode. - Fixed #3618: $tagNMLVKEYDOWN, $tagNMTVKEYDOWN, $tagNMTCKEYDOWN structure alignment. - Fixed #3619: _WinAPI_LocalFree() doc. - Fixed #3243: _WinAPI_MoveFileEx() if $sNewFile = 0 and $MOVE_FILE_DELAY_UNTIL_REBOOT. - Fixed #3264: _INetSmtpMail() bad $sFirst default value. - Fixed #3265: _INetSmtpMail() bad Bias calculation. - Fixed: _WinAPI_GetErrorMessage(), _WinAPI_GetLastErrorMessage() returning @error. - Fixed: _WinAPI_GUIDFromStringEx() return on error. - Fixed: _WinAPI_EnumProcessHandles() seting @extended if too many Handles. - Fixed #3626: _WinAPI_GetSaveFileName() example. - Fixed: _WinAPI_RegQueryValue() wrong return on success and does not return error $ERROR_MORE_DATA. - Fixed #3628: _WinAPI_GetCaretPos() bad return. - Fixed #3632: _Net_Share_ShareCheck() 2nd parameter is a $sResourcePath. - Fixed: _ArrayInsert() range element comparison datatype mismatch. - Fixed #3637: _ArrayDisplay() error when Array is empty and Range parameter exists. - Fixed #3657: _GUICtrlListView_SimpleSort selected item when no selection. - Fixed #3687: Corrected HSL constantvalues for RGB-HSL-RGB conversion. - Fixed #3699: _ArrayMin(), _ArrayxMinIndex(), _ArrayMax() and _ArrayMinIndex() examples. - Fixed #3708: _WinAPI_LoadCursor() and _WinAPI_GetIconInfo() must use $OCR_* instead of $IDC_* that are used in AutoIt Mouse builtin. - Fixed #3711: _WinAPI_EnumWindows() and _WinAPI_EnumWindowsPopup() examples. - Fixed #3713: missing $ENM_NONE definition. - Fixed #3716: _ArrayToClip() example. - Fixed #3714: _GUICtrlTreeView_Sort() crash with 1 element TreeView. - Fixed #3744: _Crypt_DestroyKey() does not return error on wrong key. - Fixed: $LANG_FRENCH value in _WinAPILangConstants.au3. - Fixed #3733: _FileListToArrayRec() sometimes hanging when ".." filename was returned causing an endless recursion. - Fixed #3737: _ArrayUnique() failed with a single element array when using $iBase parameter. - Fixed #3755: _ArrayInsert/Delete $vRange delimited string failing. - Fixed: _GUICtrlTreeview_*() running in X64 mode. - Fixed: GUITreeView.au3 running in X64 Mode (Thanks Danyfirex). - Fixed: Problem with _WinAPI_GetFontResourceInfo() & _WinAPI_GetFontMemoryResourceInfo(). - Fixed #3728: Added optional parameter to _ArrayTranspose to force single column 2D array to 1D. - Fixed #3678: Amended Help file to show that _FileWriteLine with no text blanks a line, not removes it. - Fixed #3757: Added note to GUICtrlListView_SetColor* pages about need to use BGR format. - Fixed #3697: _WinAPI_GetOverlappedResult() failure. - Fixed #3647: _GDIPlus_ImageResize() ghost border. - Fixed #3650: _GDIPlus_ImageResize() off by one. - Fixed #3633: _GUICtrlRichEdit_GotoCharPos() does not detect end of text. - Fixed #3765: _FileWriteLog() using Handle Cannot insert atvthe beginning, just set @extended. - Fixed #3776: __EventLog_DecodeDesc(). - Fixed: _GUICtrlListView_SetItemChecked() regression and more GUIListview.au3 functions. - Fixed: _WinAPI_CreateEvent() return error on already define $sName. - Fixed: use "wstr" for "ptr" with Null value. - Fixed #3791: _ArrayDisplay() sort arrow. - Fixed #3805: $tagRID_DEVICE_INFO_KEYBOARD definition. - Fixed #3810: _ArrayUnique not handling "Default" for Parameter $iIntType. - Fixed: _WinAPI_DragQueryFileEx() $iflag behavior when mix drag (Thanks pixelsearch). - Fixed #3812: _DateTimeSplit() returning @error. - Fixed #3814: $PAGE_ connstants for _WinAPI_CreateFileMapping(). - Fixed #3819: _FileCountLines() can use file handle. - Fixed #3821: _WinAPI_OemToChar() with string greater than 65536 crash. - Fixed: _Now(), _NowCalc(), ... date time coherency when call just on hour change. (Thanks argumentum). - Fixed #3824: _GUICtrlRichEdit_StreamToFile(), _GUICtrlRichEdit_StreamFromFile() default encoding doc. - Fixed #3828: SetError(), SetExtended() broken doc links. - Fixed #3827: _GUICtrlListView_ClickItem() outside listview area. - Fixed #3835: Magic numbers in GDIPlus doc. - Fixed #3833: _WinAPI_RegisterRawInputDevices() $iCount. - Fixed #3842: _StringToArray() default parameter doc precision. - Fixed #3846: missing $LVKF_* constants definition. - Fixed #3847: _GUICtrlEdit_ShowBalloonTip() crash in _WinAPI_MultiByteToWideChar(). - Fixed #3848: _GUICtrlListView_GetItemTextArray() no error detection in multicolumn. - Fixed #3850: _WinAPI_GetDriveNumber() does return - 1 as partition number. - Fixed #3852: _ArrayToString() speed optimization. - Fixed: Constants for _WinAPI_GetCursorInfo(). - Fixed: Debug.au3 when stripping. - Fixed #3861: RunAs() doc remark. 3.3.14.5 (16th March, 2018) (Release) UDFs: - Fixed #3606: CheckForUpdates : Extras\AutoUpdateIt\AutoUpdateIt.au3 script. 3.3.14.4 (9th March, 2018) (Release) UDFs: - Added #3230: _WinAPI_WideCharToMultiByte() new optional parameter to return binary. - Fixed: _FileListToArrayRec() wrong constant. - Fixed: _ArrayAdd() Boolean force. - Fixed #3586: _ArraySwap() doc parameter. - Fixed #3585: _GUICtrlTreeView_Sort() for level 1 sorting. - Fixed: _Net_Share_*() error reporting. - Fixed: $KEY_WRITE value for _WinAPI_RegCreateKey() or _WinAPI_RegOpenKey(). 3.3.14.3 (2nd February, 2018) (Release) AutoIt: - Changed: Location of the link pointing to the #pragma directive. Found in the language directives page. - Changed: PCRE regular expression engine updated to 8.37. - Fixed #3237: Event log decoding now deals with more than 9 tokens. - Fixed #3068: Switch comment was incorrect in the documentation. - Fixed #2997: Fixed bug with caseless UTF regular expressions. - Fixed #3009: MouseGetCursor() for HAND. - Fixed #2899: WinGetHandle("LAST") @error. - Fixed #2945: Center and right justified text broken on native buttons when colours set. - Fixed #2916: GUISetCoord() not used in GUICtrlCreatePic(). - Fixed #2869: GUICtrlSetTip() displays wrong tip. - Fixed #2892: GUICtrlSetData() on Dummy Control. - Fixed: EnvUpdate() will no longer be blocked by hung windows. - Fixed: pragma directive was not working correctly for setting Windows 10 options. - Fixed: WSAGetError -> WSAGetLastError typo in TCP/UDP doc functions. - Fixed #3193: Help "Language Reference - Variable" example. - Fixed: $EXITCLOSE_BYSUTDOWN -> $EXITCLOSE_BYSHUTDOWN typo in AutoItConstants.au3 used with OnAutoItExitRegister(). THIS IS A SCRIPT BREAKING CHANGE UDFs: - Removed: _MathCheckDiv() documentation has been removed, as it was a basic wrapper for Mod($iNum1, $iNum2). THIS IS A SCRIPT BREAKING CHANGE - Removed #3071: 4th example from the Random() documentation, as it was for a workaround that isn't required anymore. - Changed: Re-wrote _FileCountLines() with using the native function FileReadToArray(). Check the documentation for additional @error values. - Changed: Return value of _Degree() and _Radian() on error from empty string to zero. THIS IS A SCRIPT BREAKING CHANGE - Changed: _SQLite 3.8.11.1 -> 3.22.0.0. - Changed: _SQLite_Startup() does not download anymore a new folder can be used to store SQLite dll/exe files @LocalAppDataDir\AutoIt v3\SQLite - Changed: WinAPI conversion UDFs moved from WinAPI.au3 and WinAPIMisc.au3 to WinAPIConv.au3. - Changed: WinAPI Handle and Object UDFs moved from WinAPI.au3 to WinAPIHObj.au3. - Changed: WinAPI Icons UDFs moved from WinAPIRes.au3 to WinAPIIcons.au3. - Changed: WinAPI Heap UDFs moved from WinAPISys.au3 to WinAPIMem.au3. - Changed: WinAPI Gdi Device Context (DC) UDFs moved from WinAPI.au3 to WinAPIGdiDC.au3. - Changed: _WinAPI_DefSubclassProc(), _WinAPI_GetWindowSubclass(), >_WinAPI_RemoveWindowSubclass() and _WinAPI_SetWindowSubclass() moved from WinAPIShellEx.au3 to WinAPISys.au3. THIS IS A SCRIPT BREAKING CHANGE - Changed: _ArrayDisplay() is now only intended to display array contents - but see _DebugArrayDisplay(). No limit of number of item displayed. $iAlt_Color, $hUser_Function parameters have been removed. - Changed: _WinAPI_GetSaveFileName(), _WinAPI_GetSaveFileName() returns file with extension only if typed. THIS IS A SCRIPT BREAKING CHANGE - Added: _ArrayAdd can force elements to Boolean using $ARRAYFILL_FORCE_BOOLEAN flag. - Added #3120: Using ipify.org as the main IP discovery site for _GetIP(). - Added #3093: _FileWriteToLine() parameter to add lines if required. - Added #3161: Constants for MemGetStat(). - Added #2269: SHA2 hash algorithms in Crypt.au3. - Added #3208: $CALG_* constants description for _Crypt_*(). - Added #3210: _GUICtrlRichEdit_SetFont(), _GUICtrlRichEdit_GetFont() $iCharSets values Doc precision. - Added: More _GDIPlus_* functions (18). - Added #3240: Constants to _PathSplit(). - Added #3513: _Timer_KillTimer(), _Timer_KillAllTimers() and _Timer_SetTimer() doc precision. - Added: _DebugArrayDisplay() replaces the old _ArrayDisplay() with multiple user options and buttons. - Added: _GUICtrlListView_RegisterSortCallBack() support a new $bNumber type (2) to compare with StrCmpLogical Windows API. - Added: _GUICtrlListView_RegisterSortCallBack() add a new parameter to use Private callback. - Added: Click on column header sort for _ArrayDisplay() and _DebugArrayDisplay(). - Added: _ArrayAdd can force elements to Boolean using $ARRAYFILL_FORCE_BOOLEAN flag. - Fixed #3069: AutoIt Constants include constant help page. - Fixed #3075: _WinAPI_WaitForSingleObject() - TimeOut parameters description. - Fixed #3078: _ArrayUnique() error on 2D arrays with Au3Check. - Fixed #3094: Range error in _ArrayDisplay(). - Fixed #3104: _EventLog__Read() returns only domain name. - Fixed #3085: Wrong UDF Examples. - Fixed #3113: StderrRead() example. - Fixed #3117: StringFormat() - second parameter is optional. - Fixed #3087: _GUICtrlRichEdit_StreamFromFile() add parameter to support UTF16 with no BOM. - Fixed: Bug with header delimiter if _ArrayDisplay() function called within its own user function. - Fixed: _WinAPI_GetVersion() comparison under Win10. - Fixed #3091: _WinAPI_RegQueryValue() never returns the buffer size on ERROR_MORE_DATA error. - Fixed: _GDIPlus_EffectCreate() crashing when run using AutoIt x64. - Fixed #3134: Missing _WinAPI_GetSystemMetrics() Constants. - Fixed #3136: Bad doc return description for _FTP_DirPutContents(). - Fixed #3184: bad doc description for $STYPE_DISKTREE and $STYPE_PRINTQ in _Net_Share_ShareEnum() and _Net_Share_ResourceStr(). - Fixed #3233: _GUICtrlListBox_GetSelCount() returning 0 on invalid handle. - Fixed: _Date_Time_SetTimeZoneInformation(). - Fixed #3516: _Crypt_EncryptData() and _Crypt_DecryptData() doc about Non ANSI Chars handling. - Fixed #3518: _GUICtrlStatusBar_SetParts() with array of PartWidth. - Fixed #3582: _WinAPI_GetGUIThreadInfo() caret bounding rectangle. 3.3.14.2 (18th September, 2015) (Release) AutoIt: - Fixed: #pragma directive was not working correctly for setting Windows 10 options. UDFs: - Fixed #3078: _ArrayUnique() error on 2D arrays with autocheck. - Changed: _SQLite_Startup() no longer automatically downloads DLL files. THIS IS A SCRIPT BREAKING CHANGE 3.3.14.1 (28th July, 2015) (Release) AutoIt: - Changed: Installer method of modifying PSModulePath updated. Others: - Changed: AutoIt3Help.exe reworked and digitally signed. 3.3.14.0 (10th July, 2015) (Release) AutoIt: - Changed: Minimum OS requirements are now Windows XP SP3 and Windows Server 2003 SP2. - Changed: PCRE regular expression engine updated to 8.35. - Changed: Default text file encoding changed to UTF8 without BOM. - Changed: FileOpen() has new modes for forcing ANSI, UTF16-BE/LE without BOM. - Added #2761: AutoIt.chm title version. - Added #2365: FileFindNextFile() - information in @extended. - Added #2647: Return the line count from FileReadToArray() in @extended. - Added #2665: FileCopy() no longer fails when copying EFS files to destinations that don't support encryption. - Added #2686: Random() to return max value when min equals max. - Added #2346: FileSetEnd(). - Added: Regular expression caching. Small performance improvements when using the same pattern multiple times. - Added: Constants for native Functions in AutoItConstants.au3. - Added #3012: GUISetFont() default value doc. - Added: @OSVersion supports Windows 10 and Windows Server 2016. - Fixed: Functions fixed for extended length paths: FileOpen(), FileCopy(), FileMove(), FileDelete(). - Fixed #2755: SetError() doc precision. - Fixed #2743: Hex() crash with invalid len. - Fixed #2685: HotKeySet() fails to register a Hungarian letter. - Fixed #2588: Menu/Statusbar location problem. - Fixed #2471: Bad restore for script using $WS_EX_LAYOUTRTL. - Fixed #2287: GUICtrlSetState() $GUI_ONTOP not set. - Fixed #1573: TCPTimeout for Connect. - Fixed #2596: TCP/UDP @error values to be unique. - Fixed #2626: ControlGetText(), WinGetText(), WinGetTitle() wrong encoding for some words. - Fixed #2538: GuiSetAccelerators() was still firing events on disabled button controls. - Fixed #2671: StringSplit() was splitting incorrectly with regards to case sensitivity. - Fixed #2372: Incorrect line number given on a bad function call. (Still issues with Callback line errors). - Fixed #2805: FileWriteLine() was not returning a failure when disk was full. - Fixed #2623: RegDelete() returning 0 rather than 2 when a key exists but no write permissions to delete it. - Fixed #2813: Accessing "last created control" once GUI deleted caused a hard crash. - Fixed #2640: Odd conversion of strings containing numbers in expressions. - Fixed #2363: Call() with invalid user function was not setting @error correctly when used as an expression within another function call. - Fixed #2364: Call() with CallArgArray and no parameters. - Fixed #2789: With EndWith parameter issue. - Fixed #2820: WinExists() and other Win functions were incorrectly converting strings containing numbers into window handles and causing false matches. - Fixed #2502: Copy-on-write optimization when passing array and map elements ByRef was incorrect. - Fixed: Assigning objects by reference to COM properties like "$obj(some, params) = $obj2". - Fixed #2639: Unable to Copy/Paste from Embedded IE object. - Fixed #2839: GUISetAccelerators() with an invalid array can cause a hard crash. - Fixed #2920: Doc precision about no control position/resizing on initially window for GUICreate()/WinMove(). - Fixed #2924: Progress bar style documentation. - Fixed #2892: GUICtrlSetData() on Dummy Control. - Fixed #3028: GUICtrlCreateCombo() doc formatting. - Fixed #3040: Int() doc typos. - Fixed #3042: Number() doc clarifications. - Fixed #3041: AutoItWinGetTitle() doc example typos. - Fixed #3039: AutoItWinSetTitle() doc example typos. - Fixed #3057: StringSplit() Return Value if $STR_NOCOUNT doc. AutoItX: - Changed: AutoItX3.psd1 renamed to AutoItX.psd. PSModulePath updated on install so that the system will auto-import. - Fixed #2694: ControlListView not finding controls in x64 mode. UDFs: - Changed: _SQLite 3.8.4.3 -> 3.8.10.0. - Changed: Reduced duplicate code for finding the maximum and minimum value in an array. - Changed: _ArrayAdd() now uses constants to change addition behaviour and datatype forcing. - Changed: _ArrayInsert now uses constants to change addition behaviour and datatype forcing. - Changed: _GDIPlus_Startup() need explicit Dll for GDI+ v1.1 support under Vista or Server 2008. - Changed: Removed internal redraw code from _GUIListView_DeleteAllItems() and _GUIListView_DeleteSelectedItems(). - Changed: _ArrayUnique() can now deal with Int64 values via new parameter. - Changed: Re-wrote _StringInsert() using native functions. - Changed: _HexToString() to _StringToHex() now handles strings and binary as UTF-8 by default. - Changed: _FileWriteToLine() overwrite optional parameter is now boolean and not an integer of zero or one. The old values are still supported for now. - Changed: _Excel_BookOpen() changed from @error = 4 to @error = 0 and @extended = 1 if Workbook could not be opened Read-Write. THIS IS A SCRIPT BREAKING CHANGE - Changed: _Word_DocOpen() changed from @error = 4 to @error = 0 and @extended = 1 if document could not be opened Read-Write. THIS IS A SCRIPT BREAKING CHANGE - Changed: Re-wrote _MathCheckDiv(). - Changed: _ArrayTranspose() algorithm. - Added #2732: ObjName() doc example. - Added #2751: Regions and GUI control tip labels to the control sample example. - Added #2764: _WinAPI_ShellExecuteEx(), _WinAPI_GetPriorityClass() doc constants. - Added: $SS_ENHMETAFILE, $SS_REALSIZECONTROL, $STM_SETICON, $STM_GETICON, $STM_SETIMAGE, $STM_GETIMAGE to StaticConstants.au3. - Added #2826: Quit to close the browser. - Added #2836: _WinAPI_SfcIsKeyProtected() doc example. - Added: More _GDIPlus_Font* functions. - Added: _WinAPI_GetFontResourceInfo() return more Font information. - Added: _WinAPI_GetFontMemoryResourceInfo(). - Added #2922: _VersionCompare() with different number of fields. - Added #2968: Optional parameter $iMSeconds to _SetTime(). - Added: $SB_ANSI, $SB_UTF16LE, $SB_UTF16BE and $SB_UTF8 constants to StringConstants.au3, for use with BinaryToString() and StringToBinary(). - Added: Constants to Assign() and IsDeclared(). - Added #2982: _FTP_Connect() example improvement. - Added #2976: #pragma default value. - Added #2998: Added missing key (03 - control-break processing) to the _IsPressed() documentation. - Added: _GDIPlus_ImageGetDimension(). - Added: _GDIPlus_BitmapCreateDIBFromBitmap() can be used to allow .PNG in GUICtrlCreatePic(). - Added: _GDIPlus_ImageGetThumbnail(). - Added #3034: _Timer_SetTimer() doc example. - Fixed #2734: Incorrectly setting the wrong member. - Fixed #2736: DriveGetType() and _WinAPI_SetWindowPos() doc Constants.au3 to AutoItConstants.au3. - Fixed #2737: _WinAPI_ShellGetStockIconInfo() doc $SIID_ constants. - Fixed #2744: Requires IE5 removal as Min OS = Windows XP. - Fixed #2741: _WinAPI_DrawThemeEdge() constants reference in BorderConstants.au3. - Fixed #2740: _WinAPI_IsProcessorFeaturePresent() doc $PF_* constants. - Fixed #2739: _WinAPI_SetLocaleInfo() doc $LOCALE_* constants. - Fixed #2738: _WinAPI_ShellRestricted() doc $REST_* constants. - Fixed #2745: Mismatch of supported operating system with the official AutoIt site. - Fixed #2746: IE6Example.htm refreshing and associated COMRef.htm. - Fixed #2749: Bad Include in COM example. - Fixed #2748: Variable used before declaration. - Fixed #2758: _ArrayPermute() with multicharacter delimiter. - Fixed #2782: Documentation of various constants. - Fixed #2803: _ArrayMinIndex() and _ArrayMaxIndex() failing with 1-dimensional arrays that had 1 element only. - Fixed: _ArrayAdd() failing with a trailing delimiter in $vValue. - Fixed #2816: Doc precision with _GDIPlus_ImageLoadFromFile() specifying -1 when it's 0 on failure. - Fixed: _Crypt_DecryptData() and _Crypt_EncryptData() failing with a blank string when using the RC4 algorithm. - Fixed #2821: Example comment was incorrect for _DateToDayOfWeekISO(). - Fixed #2823: _ChooseFont() default color BGR not RGB. - Fixed: Limit bug in _ArrayToClip(), _ArrayExtract() and _ArrayToString(). - Fixed #2828: Typo of security in _IEFormElementSetValue(). - Fixed: Limit bug in _ArraySwap(). - Fixed #2861: _WinAPI_ReadDirectoryChanges() example. - Fixed #2874: _GUICtrlRichEdit_SetCharColor() not at insertpoint. - Fixed #2909: Backslash was not appended in _PathMake() if $sDir was blank. - Fixed #2908: _ScreenCapture_Capture() failing due to out of bounds error. - Fixed #2917: _WinAPI_AddMRUString() example crash when run in X64 mode (Msdn Bug CreateMRUListW !!!). - Fixed #2918: _GDIPlus_GetEncoderParameterList() not working. - Fixed: Range setting in _ArrayDisplay(). - Fixed: _Array_FindAll() return array incorrectly dimesioned for row search. - Fixed #2964: Incorrect structure for $tagWNDCLASS. - Fixed: _WinAPI_IsWritable() wrong detection when the device is not ready. - Fixed: The seconds parameter in _SetTime() being set as milliseconds. - Fixed #2967: Incorrect format of AM/PM when the time was 00:00. - Fixed #2983: _WinApi_GetString() doc. - Fixed #2993: _Excel_RangeFind returns only last occurrence of string found. - Fixed #3011: _FileListToArrayRec() not closing the open handle. - Fixed: _Word_DocFind(), _Word_DocFindReplace() and _Word_DocPrint() did not set @extended to the COM error code. - Fixed: _StringExplode not using full delimiter to split. - Fixed #3018: _GDIPlus_EffectCreateHueSaturationLightness () doc and _GDIPlus_BitmapApplyEffect() crash. - Fixed #3038: _Timer_SetTimer() callback function parameters. - Fixed #3037: _RunDOS() waits for command completion. - Fixed #3055: Bad link in _WinAPI_IOCTL() doc. - Fixed #3052: _ArraySort() doc clarification for 2D. - Fixed #3059: Miscelaneous => Miscellaneous in Help : Typos. - Fixed #3063: Removed additional param in the $tagRAWKEYBOARD structure. Au3Check: - Fixed: False error report on COM variable. - Fixed: False error report on With statement. - Added: Support of UTF8 with BOM files. Others: - Changed: Improved highlighting AutoIt code inside the HTML files. - Added: Icons\MyAutoit3_*.ico to be used when compiling user scripts (small footprint). - Added: lang-autoit.js code highlighting file for Google Prettify. See the Extras\Prettify folder. - Fixed: Re-writing the scripts which generate the syntax files for the editors and GeSHi, resulted in missing descriptions being added and correct sorting of functions. 3.3.12.0 (1st June, 2014) (Release) AutoIt: - Changed: PCRE regular expression engine updated to 8.34. - Added #2557: Send() special control strings will no longer treat 0 repetitions as 1. No keys will be sent. - Added #2489: HttpSetUserAgent() now returns the previous user agent string. - Added #2481: FileSelectFolder() will use the Windows Vista style if available. - Fixed #2562: StringRegExp() & Null character. - Fixed #2581: Dec() wasn't working correctly for flags 0, 1, 2. - Fixed #2568: StringStripWS() and StringIsSpace() now treats null as a whitespace character. - Fixed #2566: "override" cursor in GUISetCursor() fails inside client area. - Fixed #2573: "override" cursor in GUISetCursor() fails outside of client area. - Fixed #2478: Assign() and Eval() do not restrict variable names. - Fixed #2316: PowerPoint COM event handler initialization error. - Fixed #2512: ObjName() crash. - Fixed #2613: AutoIt crashes whenever an array value returned from a WMI query is null. - Fixed #2309: Bad conversion of VT_BSTR|VT_BYREF COM variants when the referenced string is null. - Fixed #2648: FileSaveDialog() not adding extension when user types manually. - Fixed #2717: Appendix constants page precision about Inet Constants. UDFs: - Removed: Usage of Call() in _FTP_ProgressDownload(), _FTP_ProgressUpload() and _SQLite_Startup(). See documentation for changes to $hFunctionCall and $hPrintCallback parameters. THIS IS A SCRIPT BREAKING CHANGE. - Removed: http://api.exip.org/?call=ip from _GetIP() as the site was taken offline. - Removed: _WinAPI_GetUDFVersion() as all UDFs share the same version number as the AutoIt version they are shipped with. - Changed: Constant variables are now used in the UDFs rather than their value. - Changed: Re-wrote _FileWriteToLine() to use FileReadToArray(). - Changed: Re-wrote _DateDayOfWeek() which can now return the days of the week of the user's locale. - Changed: _FileReadToArray() now returns a 1D/2D array depending on parameters used. - Changed: Re-wrote _DateToMonth() which can now return the months of the user's locale. - Changed: Re-wrote Array UDF to add 2D support and add some functions. THIS IS A SCRIPT BREAKING CHANGE. - Changed: Excel UDF was re-written. Functions and/or parameters have been renamed, removed or added. THIS IS A SCRIPT BREAKING CHANGE. - Changed: _SQLite 3.8.2.0 -> 3.8.4.3. - Added: Error checking to _ArrayDelete() when $iElement was out of bounds. - Added: Example for _WinAPI_SystemParametersInfo(). - Added: A timer of 5 minutes to _GetIP() between each public IP retrieval. This is to reduce overloading the IP discovery sites. - Added: $STR_REGEXP* contants in StringConstants.au3 for StringRegExp(). - Added: _SQLite_SQLiteExe() download sqlite3.exe when needed. - Added: http://bot.whatismyipaddress.com as an IP disovery site to _GetIP(). - Added: _Array1DToHistogram(). - Added #2726: Group ID to return array for _GUICtrlListView_GetGroupInfoByIndex(). - Fixed: _FileListToArrayRec() array concatenation bug. - Fixed #2550: _GUICtrlComboBox_GetEditText() struct sizing. - Fixed: _INetSmtpMail() SmtpServer IPaddr checking. - Fixed #2618: _StringBetween() behaviour when $sStart and $sEnd are identical. - Fixed #2660: Button on GUI example. - Fixed: _IECreate() disable use of Windows Key. - Fixed #2689: When $bCursor in _ScreenCapture_Capture() was set to True and the PC was locked. - Fixed #2693: _GUICtrlListView_GetItemTextArray() return value doc. - Fixed #2697: missing $GW_ENABLEDPOPUP constant. - Fixed #2700: _GUICtrlRichEdit_SetCharBkColor() not at insertpoint. - Fixed #2706: $tagWINDOWINFO bad struct. - Fixed: _GUICtrlListView_GetView() and _GUICtrlListView_SetView() were using 0 for detailed view and 1 for large icon view, when it's the opposite way around. THIS IS A SCRIPT BREAKING CHANGE. - Fixed: Incorrect default style for _GUICtrlMenu_CreateMenu() and _GUICtrlMenu_CreatePopup() and changed documentation to use constant values. Au3Check: - Fixed #2612: Function reference ByRef. - Fixed: Undetected errors. AutoIt3Help: - Changed: Version number to 1.0.0.6. - Added: Windows activation when already open. Others: - Changed: Help file syntax variable names to a standard naming convention for easier understanding and consitency in the calltip syntax files. - Added: Keywords and Macros to the Notepad++ autoit.xml file. - Fixed #2677: AutoIt.chm Installdir.htm reference. - Fixed #2676: AutoIt.chm Installdir.htm \Sqlite reference. - Fixed #2725: AutoIt3.chm printing example. 3.3.10.2 (30th December, 2013) (Release) AutoIt: - Fixed #2576: All AutoIt EXEs and tools not working on older Athlon XP processors due to SSE compiler options. Aut2Exe: - Fixed #2580: Aut2Exe failing to run multiple times on Windows XP prior to SP3. Others: - Fixed #2571: Notepad++ autoit.xml was incorrectly formatted and not displaying calltips. 3.3.10.1 (28th December, 2013) (Release) AutoIt: Aut2Exe: - Fixed: Aut2Exe was leaving a temporary file around. UDFs: - Added: Error checking to _GDIPlus_GraphicsDrawString() in case _GDIPlus_GraphicsMeasureString() fails to return an array. - Fixed: Incorrect function being called for _GDIPlus_BitmapCloneArea(). - Fixed: _ArrayDisplay() user function call and range bug. 3.3.10.0 (23rd December, 2013) (Release) AutoIt: - Removed: PluginOpen() and PlugInClose() removed to due to not being used and never having progressed past the experimental stage. - Changed: Removed Windows 2000 support. Minimum supported OS is now Windows XP RTM / Windows Server 2003. - Changed: upx.exe from 3.07 -> 3.91. - Changed: PCRE regular expression engine updated to 8.33. - Changed: Default newline character for PCRE regexes changed to ANYCRLF. - Changed: ReDim works on arrays declared as static. - Changed: Run-time errors on objects no longer fatal (execution of the script is not halted). - Changed: Allowing multiple COM Error Handlers. Last one registered and alive gets called. - Changed: VT_NULL VARIANT converts to Null keyword (previously empty string). - Changed: Default manifest file on AutoIt and compiled exes is set for "AsInvoker" and tagged with compatibility for Vista/Win7/Win8 and Win8.1. - Changed: #NoAutoIt3Execute option replaced with #pragma compile(AutoItExecuteAllowed, false). Default is false. - Changed: IsAdmin() function changed to be based on token membership. Maybe more acurate for Sandbox type environments. - Changed: ShellExecute() will return the process ID. - Added: DriveGetType() updated so that it can detect SSD, and also bus types (SATA, USB, etc.). - Added: Interpreter accepts 64bit hex numbers. - Added: Keyword Null. - Added #488: Third parameter for ObjGet() function to specify object instance. - Added: Compound assignment operators for object properties. - Added #1191: Explicit size of arrays optional for explicit initialization. - Added: Array access on expression: StringSplit("a,b", ",")[1]. - Added: Dot access on expression: ObjCreate("Shell.Application").GetSystemInformation("DirectoryServiceAvailable"). - Added: Empty arrays. - Added: Functions can now be referenced in variables and the function can be called through the variable. - Added: FuncName(). - Added: Built-in functions that take a callback now be passed directly in addition to the old method of passing as a string. Built-in functions can also be passed now (be careful that the function you pass matches what the caller expects). - Added: C++ style ternary operators: Local $fResult = ("foo" = "bar") ? True : False. - Added: Expression as default function parameter. - Added: With...EndWith can be used on expressions having dot-access. - Added: Nested "With...EndWith". - Added: Call() calls built-in functions. - Added: ByRef with Call() function. - Added: Support for more COM VARIANT types. - Added: @OSVersion supports Windows 8.1 and Windows 2012 R2. - Added: Regular expressions (PCRE engine) now using the new native 16bit mode and also compiled with full UCP support. Prefix patterns with (*UCP) to enable. - Added: @LocalAppDataDir for local AppData (@AppDataDir is the roaming location). - Added: StringReverse() - a UTF16 compatible string reversal function. - Added: FileReadToArray() - native version of _FileReadToArray(). - Added #2358: FileInstall() accepts @ScriptFullPath as the first parameter to allow easy inclusion of the script source. - Added #2433: Monospaced in Fonts appendix. - Fixed #2067: -2147483648 not stored as int32. - Fixed #2003: ProcessWaitClose() using too much CPU. - Fixed #2076: COM VARIANT not correctly set for boolean True. - Fixed #2015: DllCallbackRegister() mangles floating point numbers under x64. - Fixed: x64 DllCall not setting double type parameters correctly. - Fixed: DllCallbackRegister() not returning floating point types correctly. - Fixed: Different issues with Static keyword. - Fixed #2078: Error in COM expression. - Fixed #2073: Unexpected termination with ContinueLoop. - Fixed #1485: Unexpected termination with ContinueCase. - Fixed: Crash in ObjEvent() for ByRef object parameters. - Fixed #2068: Repeated calls to Acos() no longer produce strange results. NOTE: This fix increases the size of AutoIt by approximately 60KB. - Fixed: ObjGet() fails validating class identifier properly when first parameter for the function is specified. - Fixed #2111: RunAs() could fail even if a user had the correct permissions to use it. - Fixed #1395: DLLCallbacks on Exit. - Fixed: Ptr() returns null pointer for objects. - Fixed #1319: Hang at exit for RichEdit user controls. - Fixed #2138: Fixed GUICtrlRead() on dummy controls was corrupting strings and possibly crashing AutoIt. - Fixed #1760: #OnAutoItStartRegister ignores single quoted function names. - Fixed #2146: Crash when closing AutoIt when started from a console window. - Fixed: DLLStruct type forgotten in comparison operations. - Fixed: "struct" type parameter in DllCall() overwrites possibly following parameters. - Fixed #1566: Array as its own element issue. - Fixed #1551: Crash the script when changing array. - Fixed: ReDim allows initialization to non-array. - Fixed #2166: StringToASCIIArray() and StringFromASCIIArray() did not correctly return an empty string when the start index is greater than the end index. - Fixed #1901: 32-bit compiled scripts now work from the system32 directory on 64-bit Windows. - Fixed #2157: ProcessList() would crash if there were more than 512 running processes. - Fixed #2215: Bad syntax check for default function parameters. - Fixed #2222: Non-ASCII characters not allowed in object properties/methods. - Fixed #2235: ProcessGetStats() defaulted to using the current process if an invalid process was specified. - Fixed #2253: Ping() returns success with no connection. - Fixed #1498: #RequireAdmin endless loop for disabled UAC. - Fixed #1698: GUICtrlSetLimit(), limit 32767 - Fixed: Subtle bugs with Ping() - Fixed #2286: GUICtrtlGetState() without a controlID parameter runs but aborts AutoIt. - Fixed #2350: Strange issue when using $SS_ETCHEDVERT and $SS_ETCHEDHORZ. - Fixed #2311: Wrong handling of casesense parameter in StringReplace() - Fixed #2361: RegRead() doesn't read REG_QWORD values. - Fixed #2362: WinGetText() and ControlGetText() would sometimes give invalid results due to the target application's handling of WM_GETTEXT. - Fixed #2075: GUICtrlSetImage() changes icon position on resizable window. - Fixed #1667: WinMove() Child window. - Fixed #2367: Sometimes two COM objects wouldn't be classed as equal during comparisons. - Fixed #1024: GUICtrlSetTip() for tabitems sets incorrectly in certain situations. - Fixed #2366: For loop not working as expected. - Fixed #2384: UDPRecv() and TCPRecv() not setting @error correctly in some instances. - Fixed #2314: Cursor flickers when moving over certain GUI controls. - Fixed #2066: DllStructSetData() returning int64 instead of int32 in some cases. - Fixed #2427: ControlTreeView() does not used Option2. - Fixed #2105: RegRead() and DWORD types incorrectly stored as double. - Fixed #2299: GUI Button Text Left-Justify for colored button. - Fixed #1954: ListViewItem returns 0 (failure) even though it populates the ListView. - Fixed #2152: X^2 Not Working in Hex(). - Fixed #1870: @GUI_DRAGFILE. - Fixed #2461: GUICtrlSetImage doesn't handle certain types of .gif file. - Fixed #2167: $WS_EX_LAYOUTRTL and GUICtrlCreateMenu causes bug. - Fixed #2468: #OnAutoItStartRegister function doc precision. - Fixed #2315: @OSVersion WIN_2012 support. - Fixed #2171: TCPTimeout inconsistent. - Fixed #2518: Static keyword not working correctly. - Fixed: StringStripCR() and StringAddCR() not working with strings that contain nulls. UDFs: - Removed #2174: Explicitly checking if the source and insert strings for _StringInsert() were strings and forcing an @error return value. (@error values 2 and 3 have been removed, please check the documentation.) - Removed #2187: Forcing _GUICtrlRichEdit_Create() to create a richedit control in a positive position. (@error values 103 and 104 have been removed, please check the documentation.) - Removed #2172: Select...EndSelect statement from _StringRepeat() and replaced with an If...EndIf as well as optimised the code. - Removed: Documentation and example for _Iif(). Scripts should be updated to use ternary operators instead. THIS IS A SCRIPT BREAKING CHANGE. - Removed: Documentation and example for _StringEncrypt(). Scripts should be updated to use the Crypt functions instead. Look at _Crypt_EncryptData() for an alternative example. - Removed: _ArrayCreate() from Array.au3. - Removed: Function headers in the UDFs, as information about the function can be found in the help file, This removal resulted in a 32.23% size reduction to the includes folder (7.01MB ->> 4.40MB). - Removed: Documentation and example for _StringReverse(). Scripts should be updated to use the native function StringReverse() instead. - Removed: $tagGDIPPENCODERPARAMS (duplicate of $tagGDIPENCODERPARAMS). - Changed #2117: _FileCountLines() writing to a temporary array to calculate the number of lines in a file. - Changed: _FileListToArray() to accept the Default keyword to use the default parameters. - Changed: _FileReadToArray() to parse the file using a regular expression. Now various line endings (not recommended) are displayed correctly in the array. - Changed: Word UDF was completely re-written. Function names changed from _Word* to _Word_*. THIS IS A SCRIPT BREAKING CHANGE. - Changed: _Max() and _Min() functions now use the ternary operator. - Changed: Re-wrote _ReplaceStringInFile() by removing the need to write to a temporary array. (@error values 4, 5 and 6 have been removed, please check the documentation.) - Changed: Re-wrote _GetIP() for improved efficency and added http://www.myexternalip.com/raw to find the external IP address. - Changed: _SQLite 3.7.2.0 -> 3.8.2.0. - Changed: IE3.au3 v3.0-0 to v3.0-1 (see header info for changes). - Changed: Array UDF now takes into consideration empty arrays. - Changed: Re-wrote _ProcessGetName() for speed enhancements. - Changed: Re-wrote _PathSplit() by using a regular expression. Contributed by DXRW4E. - Changed: _GDIPlus_GraphicsGetSmoothingMode(), _GDIPlus_GraphicsSetSmoothingMode() functions. - Changed: _FileWriteToLine() can read a file with various line endings (not recommended). - Changed: $tagGDIPENCODERPARAMS using $tagGDIPENCODERPARAM. - Changed: _GDIPlus...() using integer or float for positioning. - Changed: Modified _ArrayUnique() with a faster version and improved error checking. - Changed: $INTERNET_FLAG_NO_CACHE_WRITE default value for _FTP_ListToArray*(). - Changed: _ArrayDisplay() - new function with new functionalities. - Changed: GUIListView - new _Delete* functions. - Added: _WinAPI_GetProcAddress() function. - Added #2126: Documentation remark about _ArrayDisplay() being able to display a maximum of 65530 items. - Added #1158: WinAPIEx integrated, split under WinAPI*.au3. - Added #2250: DirMove() to the related section of DirCopy(). - Added #2155: Missing documentation for the default working directory of Run() / RunWait(). - Added #2224: Optional parameter to _FileReadToArray() to return the array count in the first element. - Added #2114: Disabling and enabling the redrawing message to increase the speed of displaying _ArrayDisplay(). (Only noticeable on large arrays.) - Added #2120: Disabling and enabling the redrawing message to increase the speed of deleting items with _GUICtrlListView_DeleteAllItems(). (Only noticeable when deleting many items in a ListView.) - Added #966: Optional parameter to return the full path of the file/folder in _FileListToArray(). - Added #2193: _StringTitleCase(), to create a title case string. - Added #2263: _Crypt_GenRandom(), fills a buffer with random data. - Added #2354: _ArrayTranspose() to the Array UDF. - Added #2338: Regular expression pattern matching. See the documentation of _ArraySearch() for more details. - Added #2340: Optional parameter to _GUICtrlListView_SimpleSort() of whether or not to reverse $vSortSense (previously $vDescending.) - Added: _FileListToArrayRec() to the UDFs. A recursive file search by Melba23. See the documentation for more details. - Added: Example for _VersionCompare(). - Added: Graphic SmoothingMode constants (GDIPlusConstants). - Added: _GDIPlus_CustomLineCapCreate(), _GDIPlus_BitmapCreateFromScan() functions. - Added: Constants for DriveGetType() and StringSplit(). See related function documentation for more details. - Added: InetConstants.au3 for use with Inet functions. See related function documentation for more details. - Added: GDIPlus functions and their respective documentation and example. - Added: _GDIPlus_ParamSize() to handle X64 compatibility. - Added #2540: _ArrayDisplay() can copy Header and Row. - Fixed #2077: hwnd safety check in _GUICtrlRichEdit_Create(). - Fixed #2088: _ArrayDisplay() not handling Default parameters correctly. - Fixed #2112: "Report Log Window" unresponsive when the script is closed. - Fixed: _GUICtrlRichEdit_* documentation error return codes. - Fixed #1970: _FTP_ListToArray() fails to retrieve Dir or File only. - Fixed #2084: Clipboard not being closed if an error occurred with _ClipBoard_SetDataEx(). - Fixed #2125: Writing a 2-dimensional array would only write the first two columns of the array. - Fixed #2070: Unexpected crash on certain systems when using _GUICtrlStatusBar_GetText(). - Fixed #2132: Documentation of _WinAPI_GetModuleHandle() and the parameter to return the handle of the calling process. (Use the Null keyword, not 0.) - Fixed #2162: Documentation link in the IE Management section was broken for _IEFormElementCheckBoxSelect(). - Fixed #2170: _ArrayDisplay() fails handling arrays with no elements. - Fixed: _PathMake() not appending backslash to the root path. - Fixed #2223: Incorrect UDF being referenced in _WordErrorHandlerRegister(). - Fixed #2252: _GUICtrlListView_DeleteAllItems() failed to remove items created using _GUICtrlListView_AddItem() on an AutoIt native listview. - Fixed #1861: _ArrayDisplay() incorrectly displayed an array when using the $sHeader parameter and the array contained the default separator. - Fixed: Using non-supported characters in the file prefix for _TempFile(). - Fixed #2186: Documentation of _WinNet_AddConnection()* and $sLocalName. (Use the Null keyword or an empty string, not 0.) - Fixed #2148: Crash when passing a number instead of a string. - Fixed #2219: _ExcelReadSheetToArray() would cause AutoIt to hang when reading a protected worksheet. - Fixed #2242: Unable to write the 0th element in _FileWriteFromArray(). Now the Default keyword is supported for the parameters $iBase and $iUBound, therefore use this instead of the value 0 for default parameters. (Please check the documentation.) - Fixed #2218: AutoIt crash when using _GUICtrlListView_SetGroupInfo() before _GUICtrlListView_SetItemGroupID() had been called. - Fixed #1996: _GUICtrlListView_SimpleSort() failed to retain the ItemParam of an item. - Fixed #1759: Strange listview sort. - Fixed #2298: Failing to detect when EnumDisplayDevices returns 0. - Fixed: _FileWriteFromArray() failing to pass the $aArray parameter as a constant reference. - Fixed: $tagREBARBANDINFO not working on XP, due referencing parameters intended for Vista and above. - Fixed #2305: Reports the wrong width and height of the desktop when using default parameters. - Fixed #2335: _WinAPI_EnumWindows() and _WinAPI_EnumWindowsPopup() order - Fixed #2347: _WinAPI_GetMonitorInfo() wrong data. - Fixed #2320: Incorrect return values for certain IE functions. - Fixed: _GUICtrlListView_InsertItem() would fail to insert -1 if passed as the $sText parameter. - Fixed #2460: _StringBetween() $sStart = $sSend. - Fixed #2459: _StringBetween() doc Description info. - Fixed #2465: _IEPropertyGet() - out of date links in "ClientInfo Properties". - Fixed: _GDIPlus_...() functions compatible with X64. - Fixed #2486: _GUICtrlRichEdit_GetFont() bad multi Font return. Solved also #2485. - Fixed #2492: _GUIToolbar_... doc example. - Fixed: _SQLite_...() running in X64 Mode. - Fixed: _SQLite_Startup() parameter checking and doc. - Fixed #2550: _GUICtrlComboBox_GetEditText() struct sizing. AutoItX: - Removed: Removed DevC files and Visual Studio 6 files. - Removed: ANSI versions of Send/WinWait functions from the native DLL. - Removed: DLL Imports: AU3_WinGetPosX, AU3_WinGetPosY, AU3_WinGetPosWidth, AU3_WinGetPosHeight. - Removed: DLL Imports: AU3_ControlGetPosX, AU3_ControlGetPosY, AU3_ControlGetPosWidth, AU3_ControlGetPosHeight. - Removed: DLL Imports: AU3_MousePosX, AU3_MouseGetPosY - Removed: DLL Imports: AU3_WinGetClientSizeWidth, AU3_WinGetClientSizeHeight. - Removed: DLL Imports: AU3_WinGetCaretPosX, AU3_WinGetCaretPosY. - Removed: DLL Imports: AU3_CDTray, AU3_BlockInput. - Removed: DLL Imports: AU3_RunAsSet. - Removed: COM Methods: CDTray, BlockInput. - Removed: COM Methods: RunAsSet. - Removed: All registry functions. The support was limited and the host language will certainly have registry functions. - Removed: All Ini file functions. As per registry functions. - Changed: Renamed AutoIt3.h to AutoItX3_DLL.h. - Added: AutoItX3.Assembly.dll - a .NET Assembly wrapper for the DLL. - Added: AutoItX3.PowerShell.dll and AutoItX3.psd1 - a set of PowerShell CmdLets. - Added: Visual Studio 2010 C++ Project files (easy to use in 2010 or later). - Added: DLL Import: AU3_WinGetPos. - Added: DLL Import: AU3_ControlGetPos. - Added: DLL Imports: AU3_MouseGetPos. - Added: DLL Import: AU3_WinGetClientSize. - Added: DLL Import: AU3_WinGetCaretPos. - Added: DLL Imports: AU3_RunAs, AU3_RunAsWait. - Added: COM Methods: RunAs, RunAsWait. - Fixed: Crash in AU3_PixelSearch when function fails. - Fixed: AutoItX3.lib files weren't correctly being copied to the install file. Au3Check: - Changed: Message case changed to support SciTE inline errors. - Changed: An error is now generated for non-supported file encodings (Previous behavior was to silently pass the script). - Changed: Au3Check version numbers now match AutoIt's. - Changed: Explicit size of arrays optional for explicit initialization. - Added: Generating error for hex numbers longer than 16 characters. - Added: Compound assignment operators for object properties. - Added: Array access on expression. - Added: Dot access on expression. - Fixed #2113: Object's properties in names of keywords treated as keywords. - Fixed #2141: #IgnoreFunc was generating an incorrect error. Others: - Added: Notepad++ autoit.xml file to the Extras\Editors folder. This contains a list of up to date functions. - Added: Sublime Text AutoIt.tmLanguage file to the Extras\Editors folder. This contains a list of up to date functions. - Added: 3rd party syntax files in Extras\Editors now include UDF functions. - Fixed: StringRegExpGUI missing from the help file index menu. Au3Record: - Fixed #2083: There is no longer an error about a missing DLL. - Fixed #2337: Support of non english keyboard. AutoIt3Help: - Changed: Manifest resource suggests Windows common controls v6.0. - Changed: Version number to 1.0.0.5. - Fixed #2519: Wrong page opening if launch without parameter. 3.3.8.1 (29th January, 2012) (Release) AutoIt: - Fixed: Built-in editor would not compile/go when installed on x64 or in a non-standard location. 3.3.8.0 (23rd December, 2011) (Release) AutoIt: - 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 documentation. - 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. - 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. - 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: - 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. - 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. 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. 3.3.6.1 (16th April, 2010) (Release) AutoIt: - Fixed #1515: FileOpen still opening in exclusive mode in some situations. 3.3.6.0 (7th March, 2010) (Release) AutoIt: - Changed: Send() and ControlSend() code reworked to allow for more Unicode characters to be used. - Changed: FileWriteLine() performance improved. - 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. 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: - Changed: Better identification of the control under the mouse. - 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. 3.3.4.0 (15th January, 2010) (Release) AutoIt: - 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. - 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. 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. AutoIt3Help: - Fixed #1327: Some keywords would fail to open correctly in rare cases. 3.3.2.0 (18th December, 2009) (Release) AutoIt: - Removed: Long deprecate URLDownloadToFile() alias for InetGet(). - 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. - 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. - 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. 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: - 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. - 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(). - 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. 3.3.0.0 (24th December, 2008) (Release) AutoIt: - Removed: Windows 9x and Windows NT 4.0 Operating System support has been removed. - 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. - 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 (Saunders) - 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,...). Aut2Exe: - Added #460: More verbose UPX errors. - Fixed #436: Compression level was ignored when performing compilation from the GUI. 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. UDFs: - Removed: _StringSplit(), no longer needed. - 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: _Sound...() functions. - Changed #599: _FileListToArray() speed optimization. - 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(). - 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. 3.2.12.1 (12th June, 2008) (Release) AutoIt: - Fixed #309: RunAs() and RunAsWait() now use @SystemDir as the working directory instead of @WorkingDir when a user-supplied working directory is not specified. - Fixed #325: contextmenuitem not firing events. - Fixed #282: Icon transparency refresh when on tab regression. - Fixed #360: RunAs() under Windows 2000. 3.2.12.0 (16th May, 2008) (Release) AutoIt: - Removed: Unnecessary optional parameter from ProcessClose(). - Removed: RunAsSet(). (Replaced with RunAs() and RunAsWait()) - Removed: RunErrorsFatal option ( Opt() ). - Removed: ColorMode option ( Opt() ). - Changed: @Unicode renamed in @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 specified 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 Choosen release dir. - Fixed: WinMove() with Speed = 0 crash the script. - Fixed: Mysterious return value of 1 when no explicit value was set. - Fixed: ControlCommand(), "GetLineCount" - Fixed: _FileListToArray() when using root drive dir as c:\ under Win9x. - 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. - 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() erronously 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: GuiCtrlListView() behind BG Picture. Doc updated. - 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. - Fixed: Random(Min,Max,1). Previously this would never actually return Max, so if Max was artificially incremented by one the script will now need to be changed. 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: - Changed: the source to version 1.76 - Added Save Dialog extension. UDFs: - See the script breaking changes page. 3.2.10.0 (25th November, 2007) (Release) AutoIt: - 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. - Added: 64bit (x64) versions of AutoIt, Aut2Exe, Au3Info and AutoItX. - Added: DllCallbackRegister(), DllCallbackGetPtr() and DllCallbackFree(). - Added: DllCall() now accept doubles, int64, uint64, wparam and lparam types. - Added: SendKeepActive(). - Added: ControlTreeView(). - Added: ProcessGetStats(). - Added: VarGetType(). - Added: @AutoItX64 macro. - Added: Au3Info : Handle info for windows and controls. - Added: DllStructCreate() added "align" keyword to set structure alignment. - 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: _GUICtrlListViewInsertColumn() after _GUICtrlListViewDeleteColumn() of the first column of a ListView control. - 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: _SQLite_SQLiteExe() referencing by default "Extras\SQLite\SQlite3.exe". - Fixed: _Sound...() when refering to a file with "!" characters. - Fixed: Looping GUIRegisterMsg() doesn't unregister. - Fixed: Focus on ES_READONLY edit control. 3.2.8.1 (10th September, 2007) (Release) AutoIt: - Fixed: Possible crash with StringRegExp(). 3.2.8.0 (8th September, 2007) (Release) AutoIt: - 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. 3.2.6.0 (25th August, 2007) (Release) 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". AutoIt: - Changed: iconID in all GUI functions is now the same as GUICtrlSetImage(). - 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(). - 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. 3.2.4.9 (25th May, 2007) (Release) AutoIt: - Added: StringCompare() - Fixed: Basic string comparisons were not working with locale as in previous versions. 3.2.4.8 (23rd May, 2007) (Release) AutoIt: - Fixed: Errors with non-western codepages and ANSI format scripts. 3.2.4.7 (22nd May, 2007) (Release) AutoIt: - Added: Aut2Exe options for forcing ANSI mode compilation (/ansi and /unicode) - Added: StringToBinary() - Added: Additional unicode related options for BinaryToString() 3.2.4.6 (20th May, 2007) (Release) AutoIt: - Fixed: StringReplace() and occurances parameter. 3.2.4.5 (20th May, 2007) (Release) AutoIt: - Changed: StringReplace() speeded up - a lot. - Changed: Au3Info is now resizable. - Added: BinaryToString() for binary buffer to ANSI string quick conversions. - Added: @Unicode to show if AutoIt is being run in Unicode or ANSI mode. - Fixed: Chr(0) now properly works with Binary() 3.2.4.4 (17th May, 2007) (Release) AutoIt: - Fixed: Chr(0) now acting more sensible (now acts in a similar way to VBScript). 3.2.4.3 (17th May, 2007) (Release) AutoIt: - Fixed: FileRead() not working properly with unicode files. 3.2.4.2 (15th May, 2007) (Release) AutoIt: - 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. 3.2.4.1 (13th May, 2007) (Release) AutoIt: - 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. 3.2.4.0 (10th May, 2007) (Release) WARNING: AutoIt is now compiled for Unicode! AutoIt3.exe is Unicode - AutoIt3A.exe is ANSI. Au3Info tool rewritten. Binary data functions completely rewritten - scripts using these functions will need to be changed. AutoIt: - 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. - 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. - 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. 3.2.2.0 (23rd December, 2006) (Release) AutoIt: - Removed: old WinShow, TimerStart and TimerStop functions. - Changed: Performance improvements (up to 100% on some scripts!). - Changed: @error set to GetLastError WinAPI 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. - 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: iconID can be reference by ordinal value if negative 1-based index is use. - 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. - 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 notification 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 beginning 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. - Fixed: Installer SciTE bad link creation. - Fixed: Uninstaller include file removal 3.2.0.1 (13th August, 2006) (Release) Au3Info: - Fixed: Buffer overrun in control code. Exe2Aut: - Fixed: Exe2Aut.exe was missing its digital signature. 3.2.0 (12th August, 2006) (Release) AutoIt: - 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: The default setting on Au3Info was changed so that it doesn't highlight controls. - 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: GUICtrlCreateList() now forces the style $LBS_NOTIFY. - Changed: GUICtrlCreateIcon() default size is 32x32. - Added: COM object support. - Added: Aut2Exe can now created .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: GUICtrlSetData() text for treeview. - Added: $WS_EX_MDICHILD support for GUICreate(). - Added: GUICtrlCreateGraphic(), GUICtrlSetGraphic(). - Added: Opt('GUIEventOptions',1) to suppress window action when clicking on Minimize,restore or Maximize buttons. - Added: Right-click support for List/Treeview GUI control. - Added: GUICtrlRead() return controlID if Opt("GUIEventCompatibilityMode',2). - Added: GUICtrlCreateMonthCal(). - Added: Opt("GUIDataSeparatorChar",...). - Added: GUICtrlCreateObj(). - Added: GUICtrlSetColor(), GUICtrlSetBkColor(), GUICtrlSetImage() for ListviewItem controls. - Added: GUISwitch() tabitemID optional parameter to allow dynamic control creation on a tabitem. - Added: GuiCtrlListView() support Icon view. - Added: $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: GUICtrlGetHandle(). - Added: $GUI_EVENT_DROPPED @GUI_DragId, @GUI_DropId. - Added: GUISetCursor(16), GUICtrlSetCursor(16) hide the cursor. - Added: Allow Dragfile to any control. @GUI_DragFile contain the filename to be used in the $GUI_EVENT_DROPPED. - Added: GUIRegisterMsg() to work with GUI WM_Message-routines at runtime. - Added: GUICtrlRegisterListViewSort() to create a real sorting routine for GUI ListView's. - Added: Icons for GUI tab items. - Fixed: ContinueCase to keywords allowed after IF. - Fixed: Mouse...() invalid button definition. - Fixed: IniDelete() could create an empty file if the file did not exist. - Fixed: ToolTip Centering go around. - Fixed: Menu/ContextMenu enable/disable. - Fixed: Hotkey for FileCreateShortcut(). - Fixed: MemGetStats') >2Gb. - Fixed: StringInStr() return 0 when searching for "". - Fixed: RegRead() under Windows 2000. - Fixed: Bad refresh on double GUICtrlSetPos. - Fixed: ControlSend (...,"{CTRLDOWN}b{CTRLUP}). - Fixed: ContextMenu position. - Fixed: Made sure that declaring a UDF parameter in a Local or Global statement will raise an error. - Fixed: File...Dialog browse through links. - Fixed: ControlCommand() "GetCurrentSelection". - Fixed: Mouse...() returns. - Fixed: MouseClick, MouseUp bad behavior. - Fixed: StringReplace("abc","","") returns 1 instead of "". - Fixed: WinSetTrans() returns error. - Fixed: Assign not creating/assigning macro variable. - Fixed: Assign() respect Opt("MustDeclareVars",1). - Fixed: @NumParams destroyed after UDF call. - Fixed: MouseClickDelay option. - Fixed: ReDim of array ByRef parameter. - Fixed: InputBox left,top values when not defined. - Fixed: FileFindNextFile return error. - Fixed: HWND string concatanation. - Fixed: Exit inside UDF. - Fixed: SendKeyDelay, SendKeyDownDelay when no shift required. - Fixed: FileReadLine with line=0. - Fixed: Listview sorting with using styles: $LVS_SORTASCENDING and $LVS_SORTDESCENDING. - Fixed: StringLen(integer) returning 0. - Fixed: Reg...() functions on IA64/X64. - Fixed: FileFindFirstFile() leak handles. - Fixed: @IpAddress when not network installed. - Fixed: FileCopy, FileInstall, DirCopy, FileMove replacing the same file. - Fixed: FileClose,FileFindNextFile, FileRead, FileReadLine, FileWrite, FileWriteLine, PluginClose, DllClose return 0 on bad handle. - Fixed: FileCopy() when creating subdir. - Fixed: String...() on nonstring parameters. - Fixed: Float to Integer precision. - Fixed: Bad FatalError after Exit in UDF. Only the first FatalError will be displayed if any before Exit. - Fixed: Integer to string conversion. - Fixed: StringMid($a,3). - Fixed: StringSplit($a,""). - Fixed: Refreshing of dispayed tabitem after a tabitem delete. - Fixed: StringSplit($a," - ",1) string delimiter. - Fixed: Return code from delayed function as WinWait destroyed by Adlib execution. - Fixed: FileInstall() on same dir. - Fixed: Func definition with ByRef and default value. - Fixed: FileRead() returning @error=-1 on empty file. - Fixed: InetGetSize(), InetGet() @error return. - Fixed: Run("a.tmp") a.tmp being a compiled script. - Fixed: StringSplit("a : b + "," : "). - Fixed: #include-once in main script. - Fixed: PixelSearch() performance. - Fixed: HotKeySet("",...) return 0. - Fixed: ExpandVarStrings $$, ExpandEnvStrings %%. - Fixed: FileInstall() in a compiled script whose name is not .exe or .a3x. - Fixed: RegRead() return right number of fields on REG_MULTI_SZ type. - Fixed: FileRead($handle). - Fixed: ElseIf ... Then statement not detected. - Fixed: Illegal #include with no error message. - Fixed: SplashTextOn() Memory Leak. - Fixed: #include recursion depth enforced. - Fixed: @OSVersion for WIN_XP running under X64 edition. - Fixed: Comparison case insensitive accentuated upper case. - Fixed: DriveMapDel() / DriveMapAdd() interaction. - Fixed: RegRead() MULTI_REG_SZ malformed key. - Fixed: For Next with boundary,stepping being a string (no conversion to integer). - Fixed: InetGet() could block the foreground execution even when run in background mode. - Fixed: WinGetProcess() and ProcessExist() return same pid precision. - Fixed: InetGet("abort") and exiting AutoIt with a download in progres now correctly stop the download immediately. - Fixed: @InetGetBytesRead Byte count could be wrong due to a race condition. - Fixed: DirCreate() not creating subdir on dir with read/hidden/system attributes. - Fixed: FileSetAttrib(), FileSetTime() destroy @WorkingDir. - Fixed: GUICtrlSetImage() for 16x16 icon not repainting. - Fixed: The use of $GUI_GR_RECT and $GUI_GR_ELLIPSE under fixed under Win98. - Fixed: GUI Edit/Input control change notification. - Fixed: Avoid GUISwitch() when only one remain. - Fixed: GUI Multiple files drag & drop on edit/input control. - Fixed: GUI Colors on edit/input control. - Fixed: GUICtrlSetImage() return 0 on error. - Fixed: crash Autoit when click on header button of a listview control. - Fixed: GUICtrlState(@SW_MAXIMIZE or @SW_RESTORE). - Fixed: GUICtrlSetStyle() ES_READONLY on input/edit control. - Fixed: GUICtrlCreateTab() disapearing. - Fixed: Resizing of GUI Combo control. - Fixed: GUICtrlSetData() for list or combo not inserting. - Fixed: GUICtrlSetState() for Menu/menuitem. - Fixed: GUICtrlDelete() of a Listview control lead to crash after recreation with more columns. - Fixed: GUICtrlCreateListViewItem() with more field than column. - Fixed: GUISetFont() and Input Control not displayed. - Fixed: GUICtrlRead() return on expanded TreeviewItem. - Fixed: Windows centering of GUICreate(). - Fixed: GUICtrlSetPos() on Icon control. - Fixed: GUIGetCursorInfo() on tab. - Fixed: Some flickering in GUICtrlSetImage(). - Fixed: GUICtrlSetState() on non active tab. - Fixed: TreeviewItem notify when clicking a second time on the same item. - Fixed: GUICtrlSetData() on inactive tabitem not refreshing active item. - Fixed: GUICtrlSetState() on control tab. - Fixed: GUICtrlSetState() disable on hidden control tab. - Fixed: GUIGetCursorInfo() with nonactive GUI. - Fixed: Bug with accelerator keys (Alt+...) and tabs. - Fixed: Treeview painting under OS paths. - Added: MouseWheel(). - Added: FileRecycleEmpty(). - Added: RegEnumKey() and RegEnumVal(). - Fixed: FileGetSize() works on >2GB files and in-use files. - Fixed: The expression: If "non-blank" And 1 - now evaluates as true. - Fixed: /c command line use in compiled scripts. - 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. - Fixed: (Internal) Hotkey registering logic. 3.0.101 (11th Mar, 2004) (Release) AutoIt: - Added: MemGetStats(). - Fixed: Compatibility problem under Windows 95a. - Fixed: Some minor help file typos corrected. 3.0.100 (29th Feb, 2004) (Release) AutoIt: - Added: WinTextMatchMode (Option). - Fixed: ExitLoop and ContinueLoop failed during a recursive function. - Fixed: Sleep(0) (or < 0 ) no longer hangs. - Fixed: $ with no name was allowed as a variable. - Fixed: For Loop bug when used in recursion. - Fixed: FileGetLongName() return value. - Fixed: @UserProfileDir under 9x. - Fixed: IsDeclared(). - Fixed: Random(). 3.0.94 (21st Feb, 2004) (Beta) SCRIPT BREAKING CHANGES FileReadLine() and FileWriteLine() FileWriteLine now automatically writes a DOS @CRLF pair UNLESS the last character of the string to write is already @CR or @LF (to make it possible to write non-DOS text files) FileReadLine will correctly read a DOS, UNIX or MAC line (@CRLF, @LF and @CR terminated respectively). FileWrite and FileRead added to add further support. CHANGE YOUR SCRIPTS AS FOLLOWS: From: FileWriteLine($handle, "line" & @LF) To: FileWriteLine($handle, "line" & @CRLF) or FileWriteLine($handle, "line") From: FileWriteLine($handle, "line") To: FileWrite($handle, "line") AutoIt: - Changed: FileReadLine() and FileWriteLine(). - Changed: EnvSet(). - Changed: WinShow() renamed to WinSetState() (With WinShow() as an alias). - Added: FileWrite() and FileRead(). - Added: ToolTip(). - Added: Eval() and IsDeclared(). - Added: "CaretCoordMode" in AutoItSetOption(). - Added: WinGetCaretPos(). - Added: WinGetState(). - Added: "MustDeclareVars" in AutoItSetOption() - Added: Editors page in help. - Fixed: Splash() and moveable flag (and -1 default flag in options). - Fixed: Odd ElseIf error message showing wrong line. - Fixed: Crashes with bad function calls: MsgBox(MsgBox(MsgBox)). - Fixed: HotKey crashes when unregistering a key that was not registered. - Fixed: (Internal) WinWaitDelay, SendKeyDelay, etc type commands now more accurate (previously only accurate to 10ms (NT) or 55ms (9x)). - Fixed: (Internal) Execute() recursion limit dropped to 384 levels. - Fixed: (Internal) Calls to Util_AttachThreadInput will not attach to hung windows. - Fixed: (Internal) some RegRead/RegWrite() sizing problems (Ta, Chris). 3.0.93 (12th Feb, 2004) AutoIt: - Changed: Splash and Progress functions have a "moveable" option. - Changed: StringStripWS() (new strip all ws mode). - Changed: InputBox() (timeout param). - Changed: Hot keys are no longer buffered when the script is paused. - Changed: (Internal) Removed the only sscanf call and replaced with own code - saves 4KB. - Added: "SendAttachMode" in AutoItSetOption(). - Added: Opt() is an alias for AutoItSetOption() :) - Added: Doc updates. - Added: "WinSearchChildren" in AutoItSetOption(). - Fixed: REG_MULTI_SZ support. - Fixed: TrayIconDebug not showing correct filename. - Fixed: ControlClick(), ControlCommand("CHECK"). - Fixed: Control...() functions now using return values rather than @error where appropriate. - Fixed: Error with '' quotes in Aut2Exe. - Fixed: StringFormat(). - Fixed: Lexer checks that potential user function calls are for existing functions. - Fixed: Input thread attachment in Send() ( check Send("{... down}") still works). 3.0.92 (6th Feb, 2004) SCRIPT BREAKING CHANGES ControlLeftClick(), FileFindFirstFile(), SendSetCapslockState() AutoIt: - Removed: SendSetCapslockState() - Use Send("{CAPSLOCK on/off}"). - Changed: FileFind works differently (handles used and multiple finds now supported). - Changed: ControlLeftClick() renamed to ControlClick() and options added. - Changed: Window Spy options added and ability to freeze display. - Changed: StringSplit() will return each char if delimiters are "". - Changed: WinMenuSelectItem() return value. - Changed: optional variation added to PixelSearch(). - Changed: optional step value added to PixelSearch(). - Changed: FileMove() overwrite flag added. - Changed: *.* assumed if a directory is used in FileCopy()/FileMove()/FileDelete(). - Changed: (Internal) DirRemove changed. - Changed: (Internal) Sendkeys tweaked A LOT. - Added: Dec(). - Added: BitNOT(), BitXOR(), BitShift(). - Added: "TrayIconDebug" in AutoItSetOption(). - Added: Dim single-line initialization and multiple variables. - Added: "WinTitleMatchMode,4" in AutoItSetOption(). - Added: #comments-start and #comments-end for multiline comments. - Added: DirCopy(). - Added: DirMove(). - Added: Controls will be checked by visible text as well as classname (waves to Chris :) ). - Added: Macros: @UserProfileDir, @HomeDrive, @HomePath, @HomeShare, @LogonServer, @LogonDomain, @LogonDNSDomain. - Fixed: @TempDir under certain conditions. - Fixed: Hotkeys were ignored while another hotkey function was running. 3.0.91 (29th Jan, 2004) AutoIt: - Changed: FileGetTime outputs strings with leading 0s when required. - Changed: Default value of Local/Global/Dim is the String "" (equates to 0 when used as a number). - Changed: (Internal) More scriptfile.cpp optimization. - Changed: (Internal) Execute() recursion levels limited to 512 to prevent stack overflows. - Added: Options: "MouseClickDelay", "MouseClickDownDelay", "MouseClickDragDelay" in AutoItSetOption(). - Added: REG_BINARY type for RegRead() and RegWrite(). - Added: FileChangeDir(). - Added: ControlCommand() - added GETCURRENTSELECTION. - Added: Added some standard library includes (See Program Files\AutoIt3\Include\). - Added: "SendKeyDownDelay" in AutoItSetOption() (alters the amount a time a key is held down before released). - Added: AutoIt returns an exit code of 1 if script could not be loaded. - Added: FileSetAttrib(), FileSetTime(). - Added: In Au3_Spy pixel colour is also shown in hex. - Fixed: While loops failing when used in recursive functions of themselves... (!?). - Fixed: Small line continuation _ bug. - Fixed: URLDownloadToFile(). - Fixed: FileRecycle() not always working. - Fixed: FileRecycle() return value. - Fixed: Relative #include use. - Fixed: Smart boolean comparision re-added. - Fixed: FileFindFirst() not releasing memory when called multiple times. 3.0.90 (20th Jan, 2004) AutoIt: - Changed: (Internal) Rollback of variabletable.cpp and stacks/vectors. - Fixed: Serious nested IF bug. 3.0.89 (19th Jan, 2004) AutoIt: - Added: Method for standard library functions and includes. - Added: #include < > support (must be fully installed to work). - Added: #include-once directive (put at the top of a file to make sure it is only included once). - Added: @UserName and @TempDir macros. - Fixed: Nasty fatal bug in 3.0.88. 3.0.88 (18th Jan, 2004) AutoIt: - Changed: All block structures (IF/WHILE/FOR, etc.) are now checked before execution. - Changed: (Internal) lots of error checking code removed as a nice side effect of initial block structure checking. - Changed: (Internal) windows string functions (lstrcmp etc) moved back to C versions due to massive performance penalty. - Added: ElseIf - Fixed: Some single hotkeys not working. - Fixed: Better detection of illegal nesting? 3.0.87 (15th Jan, 2004) AutoIt: - Changed: Aut2Exe stores files it can't compress (.zip etc) rather than expanding. - Changed: (Internal) variable_table.cpp rewritten. - Changed: (Internal) All stacks/vectors replaced with templated code. - Fixed: Aut2Exe crashing if FileInstall used a file less than 4 bytes. - Fixed: Aut2Exe crashing with uncompressable files. - Fixed: RegRead() not working correctly with large DWORD values. - Fixed: NOT fixed when skipped during a boolean expression. 3.0.86 (12th Jan, 2004) AutoIt: - Changed: Single keys of 0-9, a-z can no longer be used as hotkeys if alt,ctrl or win is NOT also used. - Changed: (Internal) FPU assembler used for advanced math (sin,Cos,pow, etc) functions due to exe size problems under VC7. - Added: Enhanced boolean comparisons. - Added: Send can hold keys down, e.g. Send("{a down}") will hold the A key down (only works usefully with games). - Fixed: 0 ^ 0 = 1. - Fixed: on_top parameter of ProgressOn(). - Fixed: No longer hanging with blank search in StringReplace(). - Fixed: Asc() giving -1 in some cases. - Fixed: Tray icon's tip not updating when un-pausing. 3.0.85 (9th Jan, 2004) AutoIt: - Changed: IniWrite/IniDelete() return 0 if they fail. - Changed: No longer need to use virtual keys for FileCreateShortcut(). - Changed: (Internal) Send() tweaking. - Added: HotKeySet(). - Added: Abs(), Sin(), Cos(), Tan(), ASin(), ACos(), ATan(), Sqrt(), Log(), Exp(). - Added: ^ operator. - Added: Round(). - Added: Call(). - Fixed: Return value for FileCopy/FileInstall(). - Fixed: Incorrect use of ExitLoop/ContinueLoop trapped. - Fixed: (Internal) Function calling/scope slightly bugged (Adlib, Hotkey). 3.0.84 (30th Dec, 2003) AutoIt: - Changed: The key # is no longer used as a delimiter but as a left Win key combination. So Send("#e") now presses the left win+e keys. don't think anyone actually used it as a delimiter anyway, - it was just a left over from v1 and it never made lines easier to read anyway. - Changed: FileReadLine() and FileWriteLine() modified so that they optionally accept a filename instead of a filehandle for "quick 'n' dirty" file access - I'm sure this will be popular :) - Added: New window WinTitleMatchMode of 3 (for exact title match). - Added: Some more details added to helpfile. 3.0.83 (30th Dec, 2003) AutoIt: - Changed: Due to popular demand, by default functions now return 0 for error and 1 for success. This affects the following functions: FileWriteLine, CDTray, DriveSetLabel, DirCreate, DirRemove, FileCopy, FileMove, FileDelete, FileInstall, ClipPut, URLDownloadToFile, RunAsSet, Shutdown, RegWrite, RegDelete, WinWait, WinWaitActive, WinWaitClose, WinWaitNotActive, ProcessWait, ProcessWaitClose. If you were using the return values of one of these functions then please check your scripts. - Changed: ControlSend() supports {} (for most things at least...). 3.0.82 (29th Dec, 2003) AutoIt: - Changed: (Internal) FileInstall() compression code updated. - Added: Files installed with FileInstall() now have original timestamps (created/modified). - Added: IsNumber(). - Fixed: Number to string conversions and general float parsing. 3.0.81 (17th Dec, 2003) AutoIt: - Fixed: Yet more bugs with single line IF - regretting adding this feature already... - Fixed: Bugs with NOT operator and the new variant code. - Fixed: Bug with clicking CANCEL on the open script window (introduced in 3.0.80). - Fixed: StringIs... functions failing when using numbers as parameters. - Fixed: (Internal) AVector modified to allow reference access to variants (instead of copying everytime). 3.0.80 (15th Dec, 2003) AutoIt: - Changed: Number to String conversions tweaked. - Changed: (Internal) script reading code updated for Aut2Exe and merged with AutoIt. - Fixed: Massive bug fixed with arrays introduced in 3.0.76. - Fixed: Line continuation crash. 3.0.79 (15th Dec, 2003) AutoIt: - Changed: Maximum line length (including total of combined lines) increased from 1023 to 4095 characters. - Changed: "Then" keyword in If statements no longer optional (helps with single line IFs). - Added: Lines can be continued over many lines - use _ at the end of a line to continue it (as VBScript). - Added: Single line IF statements possible. 3.0.78 (15th Dec, 2003) AutoIt: - Changed: Variants work differently - no longer a seperate INTEGER type. - Changed: Float() changed to Number(). All numbers now 15digit precision (internal C double type). Also affects Random() you will get floating point numbers back unless you use Int() with the result. 3.0.77 (13th Dec, 2003) AutoIt: - Changed: "AutoIt -" prefix removed from compiled a script's tray icon. - Changed: Compiled script's file properties point to a custom web page. - Added: New option "TrayIconHide" in AutoItSetOption(). - Fixed: Tray icon should redraw after an explorer crash. 3.0.76 (12th Dec, 2003) AutoIt: - Fixed: Couple of bugs with ContinueLoop and ExitLoop. - Fixed: Statements like $test[$test[0]] now working. 3.0.75 (1st Dec, 2003) AutoIt: - Changed: Dim (along with Local/Global) can now be used as in vbscript to declare variables. - Changed: FileOpenDialog() uses "|" as the delimiter instead of ",". - Added: ControlGetFocus(). - Added: Local and Global keywords. - Fixed: PixelSearch(). - Fixed: SoundPlay()...maybe. - Fixed: Splash() sizing issues. 3.0.74 (5th Nov, 2003) AutoIt: - Added: Hex notation for integer numbers ($var = 10 or $var = 0xa). - Added: MouseDown(), MouseUp(). - Added: TrayTip(). - Fixed: PixelCoordMode not working correctly. - Fixed: Compiled exes not producing random numbers. 3.0.73 (2nd Nov, 2003) AutoIt: - Changed: FileMove() moves/renames without affecting timestamps - can also be used for directories. - Changed: RegRead/RegWrite() now supports REG_EXPAND_SZ. - Changed: Extra options added to FileGetTime(). - Changed: Extra 250ms delay added to start and end of mouse drags. - Added: New option "RunErrorsFatal" in AutoItSetOption(). - Added: New option "ExpandEnvStrings" in AutoItSetOption(). - Fixed: Odd error message fixed where a user function contained a badly formatted line. 3.0.72 (30th Oct, 2003) AutoIt: - Added: New option "PixelCoordMode" in AutoItSetOption(). - Fixed: Compiler was ignoring comments near FileInstall() functions. - Fixed: Memory leak in StatusbarGetText(). - Fixed: PixelGetColor(). 3.0.71 (29th Oct, 2003) SCRIPT BREAKING CHANGES Get ready for some script rewriting...*holds up banner with BETA written on it :) * AutoIt: - Removed: MouseSetMode(), SendSetCapslockMode(), SendSetDelay(), WinSetDelay(), WinSetDetectHiddenText() and WinSetTitleMatchMode(). - Added: ControlSend(). - Added: Framework for AutoItSetOption() - NOTE: this function replaces all functions like WinSetDelay, SendSetDelay, MouseSetMode, etc. 3.0.70 (26th Oct, 2003) AutoIt: - Removed: AutoItWinShow(), AutoItWinWrite(), AutoItWinGetText(). - Changed: ControlCommand() (updated with Larry's recent changes). - Changed: RegRead() extended error codes. - Added: FileFindFirstFile(), FileFindNextFile(). - Added: AutoItWinGetTitle(). - Added: WinGetClientSize(). - Added: EnvUpdate(). - Added: SoundSetWaveVolume(). - Added: FileGetLongName(), FileGetShortName(). - Added: TimerStart(), TimerStop(). - Fixed: SoundPlay(). 3.0.69 (23rd Oct, 2003) AutoIt: - Fixed: Small delay added into MouseClick() functions. - Fixed: FileGetVersion(). - Fixed: WinMenuSelectItem(). - Fixed: StringSplit() buffer overrun. 3.0.68 (3rd Oct, 2003) AutoIt: - Changed: (Internal) Larry's nFlag functions split. - Added: FileGetAttrib(), WinMenuSelectItem(), FileGetVersion(). - Added: Added options to ControlCommand(). 3.0.67 (30th Sep, 2003) AutoIt: - Changed: InputBox() narrowed slightly. - Changed: (Internal) MessagePump handled differently and recursion level of Execute() tracked. - Fixed: AutoIt icon not refreshing if Return was used at top level of script. - Fixed: Crash with extra long lines fixed. - Fixed: @OS_VERSION weirdness fixed. 3.0.66 (25th Sep, 2003) AutoIt: - Changed: StringSplit() returns full string in array if no delimiters matched (and count=1 not 0). - Fixed: Crash related to window titles and text fixed. 3.0.65 (23rd Sep, 2003) AutoIt: - Changed: (Internal) Window searching functions altered to check for hung windows. - Added: ControlCommand() option GetCurrentLine. - Fixed: Possible bug with optional "Then" statement fixed. 3.0.64 (19th Sep, 2003) AutoIt: - Added: Errors now include the file name that contained the error. - Fixed: IniWrite/Delete() functions were not flushing immediately under 9x. 3.0.63 (18th Sep, 2003) AutoIt: - Changed: ControlCommand() various internal changes. - Changed: Can now specify a custom time for AdlibEnable(). - Fixed: MsgBox() character limit bug fixed. 3.0.62 (17th Sep, 2003) AutoIt: - Changed: Timing of "paused" flash and icon modified a little. - Fixed: Aut2Exe icon changing code bugged. 3.0.61 (16th Sep, 2003) AutoIt: - Changed: (Internal) Encryption code modified - check compiling thoroughly. - Added: AutoIt icon flashes when in paused state. - Fixed: FileOpenDialog(). 3.0.60 (15th Sep, 2003) AutoIt: - Changed: Aut2Exe strips version info from compiled script. (Hoping to be custom versioninfo in future). - Fixed: FileGetSize() (change made, unsure if problem fixed). - Fixed: FileMove() wasn't supported on 9x (9x has no MoveFileEx function, Dave... :) ). 3.0.59 (13th Sep, 2003) AutoIt: - Fixed: InputBox was not returning "" on cancel. 3.0.58 (12th Sep, 2003) AutoIt: - Added: InputBox() (and very nice it is too...). - Added: FileMove(). - Fixed: The window text searching in AutoIt was not the same as AU3_Spy or WinGetText(). 3.0.57 (10th Sep, 2003) AutoIt: - Fixed: MsgBox under 9x was doing odd things with timeouts - tried something else. 3.0.56 (9th Sep, 2003) AutoIt: - Added: SysTabControl32 tabbing. - Fixed: Selecting the default icon in Aut2Exe was not saved between sessions. - Fixed: @OSLang under NT4... 3.0.55 (8th Sep, 2003) AutoIt: - Changed: Better icon support added to Aut2Exe. - Changed: (Internal) upx.exe called during the compiler to compress data - necessary to do it this way as you can't edit the resources of a compressed exe. - Changed: SoundPlay(). 3.0.54 (7th Sep, 2003) AutoIt: - Fixed: Compiled scripts with custom icons were failing. - Fixed: @OS_LANG under 9x. 3.0.53 (6th Sep, 2003) AutoIt: - Added: StringSplit(). 3.0.52 (6th Sep, 2003) AutoIt: - Changed: SoundPlay() option to wait added. - Added: ChangeIcon support back in Aut2Exe (32x32x16) - Slightly better than v2 in that a multiimage iconfile can be used - although only the 32x32x16 image is actually used. 3.0.51 (5th Sep, 2003) AutoIt: - Fixed: Aut2Exe still used ' comments when including files -whoops. 3.0.50 (5th Sep, 2003) AutoIt: - Changed: (Internal)A little error checking added to the lexer. - Changed: MouseClick() parameters changed. - Added: @TAB, @ComSpec. - Added: MouseClickDrag(). 3.0.49 (4th Sep, 2003) AutoIt: - Changed: Single line comment character is now ";". - Changed: ' and " may now be used for strings. - Fixed: Statusbar in Aut2Exe with Visual Styles. 3.0.48 (4th Sep, 2003) AutoIt: - Changed: StringReplace() count is now optional (assumes global). - Added: StringIsFloat(), StringIsInt(). - Added: Aut2Exe and AutoIt3 now use Visual Styles. - Fixed: MsgBox() wasn't returning -1 on timeout. - Fixed: StringReplace() error if string to replace was at end of string. 3.0.47 (3rd Sep, 2003) AutoIt: - Changed: FileExists() to work with wildcards. - Changed: Extra options added to AutoItWinShow(). - Changed: RegRead returns the string "" in addition to @error if the (default) key was requested and not found. - Fixed: DriveGetDrive() (still an a: drive bug to find though). 3.0.46 (1st Sep, 2003) AutoIt: - Fixed: RegDelete() return value when value does not exist. - Fixed: CDTray() open/closed problems. - Fixed: FileSelectFolder() crash due to missing initialisers. 3.0.45 (1st Sep, 2003) AutoIt: - Changed: Set...() functions renamed (SendSetDelay, WinSetDelay, etc.). - Added: StatusbarGetText(). 3.0.44 (31st Aug, 2003) AutoIt: - Added: Break(). - Fixed: DriveStatus(). - Fixed: RegDelete(). 3.0.43 (31st Aug, 2003) AutoIt: - Changed: UBound() back to how it was again (same as VBScript syntax). - Added: Hex(), AutoItWinGetText(). - Fixed: @OSLang for 2000+. 3.0.42 (30th Aug, 2003) AutoIt: - Added: MouseSetMode() to allow for screen _and_ relative coords - yay everyone's happy. - Fixed: Mouse coords were 1 pixel out. 3.0.41 (30th Aug, 2003) AutoIt: - Changed: Mouse commands may now work on multiple monitors. - Fixed: Bug with invalid filehandles (again!). - Fixed: $CmdLine wasn't working correctly for compiled scripts. - Fixed: The operator == wasn't properly comparing strings. - Fixed: INI functions, filename now doesn't need ".\file.ini" to work in the current directory. - Fixed: Bug in Run() directory would not be set if last parameter was used. 3.0.40 (29th Aug, 2003) AutoIt: - Added: Windows API error messages added onto errors for the Run() commands (directory invalid, bad logon, etc). 3.0.39 (29th Aug, 2003) AutoIt: - Added: RunAsSet() (2000/XP only). - Added: FileRecycle(). 3.0.38 (28th Aug, 2003) AutoIt: - Changed: WinGetText() now correctly takes note of detecthiddentext setting. - Added: StringStripWS(). - Added: DriveGetLabel(), DriveGetSerial(), DriveGetFileSystem(), DriveSetLabel(), DriveGetType(), MouseGetCursor(). 3.0.37 (26th Aug, 2003) AutoIt: - Changed: Compression tweaked in Aut2Exe. - Changed: UBound($aArray) now returns number of dimensions. - Changed: Renamed all the IsUpper/IsAlpha, etc functions to StringIsUpper/StringIsAlpha, etc. - Added: IsFloat(), IsArray(), IsInt(), IsString(). - Added: Mod(). 3.0.36 (25th Aug, 2003) AutoIt: - Added: New compression code (slower but better at higher levels). - Fixed: Main dialog in Aut2Exe? 3.0.35 (24th Aug, 2003) AutoIt: - Added: FileInstall() support. - Added: SplashImageOn(), SplashTestOn(), SplashOff(). - Added: ProgressOn(), ProgressOff(), ProgressSet(). - Added: Compression level option in Aut2Exe. 3.0.34 (23rd Aug, 2003) AutoIt: - Added: Compiled script reading code added. - Added: @Compiled. - Added: Aut2Exe. - Fixed: subscript must be > 0 in Dim statement. 3.0.33 (22nd Aug, 2003) AutoIt: - Changed: Parsing speeded up (doubled the speed). - Changed: Optimized string handling in variants. - Added: Case Else. - Added: @DesktopWidth, @DesktopHeight. - Fixed: CDTray() - closed/close. - Fixed: Incorrect reference passing of global variables. - Fixed: Bad file handle causing a crash in FileWrite/FileRead/FileClose(). - Fixed: Crash with badly formatted Func statements. 3.0.32 (20th Aug, 2003) - Started proper version logging :) First public beta binary - 4th Mar, 2003. Development started - 20th Jan, 2003.