AutoIt Changelog ================ 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": - Updated 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) - 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) - Fixed: Possible crash with StringRegExp(). 3.2.8.0 (8th September, 2007) (Release) - 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) - Changed: IconId in all GUI functions is now the same as GUICtrlSetImage(). WARNING: Previous scripts using GUICtrlSetImage(), GUISetIcon(), TraySetIcon() and TraySetPauseIcon() may display a wrong Icon. To get the same icon "if nId > 0 Then newId = - nId - 1". - Changed: AutoIt .a3x and compiled script format. Exe2Aut will only decompile 3.2.5.1 and earlier files. No ExeAut utility is supplied for ongoing versions. - Changed: General performance improvements (currently around 30-40% over 3.2.4.9) - Changed: Limited Unicode support added in regular expressions. - Changed: ControlMove() just resizing as WinMove() if X=Y=Default. - Changed: PCRE engine updated from 7.0 to 7.1 - Changed: Suppress delay when speed=0 in MouseMove(). - Added: GUIGetStyle(). - Added: byte and ubyte type to DllCall(). - Added: ClassnameNN in control and summary info in Au3Info. - Added: Float type to dllCall. (Thanks PaulIA) - Added: AU3Check v1.54.8 support for both "#AutoIt3Wrapper_plugin_funcs" and "#Compiler_plugin_funcs". - Added: Extra parameter in ProcessClose() to close Stream handles. - Fixed: AutoIt crash on WinWait("","text") when a Scite is open. - Fixed: Some crashes on Chinese systems during Unicode/ANSI conversions. - Fixed: Aut2Exe crashing on Chinese systems when running in ANSI. - Fixed: Wrong Notification on {ENTER} after clicking on a listviewItem. - Fixed: Wrong resetting of image on listviewitems if image set on the listview. - Fixed: Resizing of listview control. - Fixed: @error not set on bad WinGetPos() return. - Fixed: LVM_EDITLABEL hogging cpu. - Fixed: AutoIt (non UNICODE version) crash with some COM objects. - Fixed: GUISetState() on GUI with W=0 or H=0. - Fixed: GUI control Tip not reappearing after a click or timeout. - Fixed: GUI controls not at the right position if a Control menu is in use. - Fixed: EnvUpdate() in UNICODE AutoIt version not working since 3.2.3.3. - Fixed: FileRead(..., count) returning count-1 chars. - Fixed: Unicode filenames in FileInstall(). - Fixed: LVS_EX_HEADERDRAGDROP extendedstyle. - Fixed: UpDown control shows through tabbed pages. - Fixed: GUICtrlSetState on UPDOWN control without changing the state. - Fixed: FileInstall() in compiled scripts causing GUI problems. - Fixed: ControlGetFocus() on control not created with AutoIt GUI. - Fixed: @AutoItPID and processlist coherency under Win9x. - Fixed: GUICtrlSetResizing not returning error on non resizable control. - Fixed: Regression for ControlSend SHIFTDOWN/UP since 3.2.3.13. - Fixed: Drag and drop on a listview control after clicking on its header. - Fixed: Support "resource only" dlls for GUISetImage(). - Fixed: Default minimum for GUICtrlSetLimit() set to 0. - Fixed: Z order after GUICtrlSetStyle() on edit or input control. - Fixed: FileReadLine() getting bad cached data when reading specific line numbers with file handles. - Fixed: Slight lag in GUIGetMsg() under certain circumstances. - Fixed: StringReplace() and occurances parameter. - Fixed: GuiCtrlSetFont() on Tab control. - Fixed: Leading blanks before #include cannot be compiled. - Fixed: Notification on ENTER on Colored button. - Fixed: RegWrite() setting bad registry entry in certain circumstances. - Fixed: AutoIt hogging CPU when text msgbox too big. - Fixed: ControlSend() sometime to wrong control when using empty controlid. - Fixed: ProcessExists() under Win2K with processname >15 chars. - Fixed: Int() with string comparison wrong match. - Fixed: InetGetSize() in unicode version returns 0. - Fixed: GUICtrlCreateListview() with more than 254 columns. - Fixed: AutoIt Crash on recursive RegExp. - Fixed: BitRotate() with left bit set. - Fixed: Filemove() returning 1 without any move. - Fixed: FileRead() returning chr(0) in ANSI mode. - Fixed: Au3Info control coords relative to client. - Fixed: StringInStr() not returning 0 when searching backward and search length greater than string. 3.2.4.9 (25th May, 2007) (Release) - Added: StringCompare() - Fixed: Basic string comparisons were not working with locale as in previous versions. 3.2.4.8 (23rd May, 2007) (Release) - Fixed: Errors with non-western codepages and ANSI format scripts. 3.2.4.7 (22nd May, 2007) (Release) - 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) - Fixed: StringReplace() and occurances parameter. 3.2.4.5 (20th May, 2007) (Release) - Added: BinaryToString() for binary buffer to ANSI string quick conversions. - Added: @Unicode to show if AutoIt is being run in Unicode or ANSI mode. - Changed: StringReplace() speeded up - a lot. - Changed: Au3Info is now resizable. - Fixed: Chr(0) now properly works with Binary() 3.2.4.4 (17th May, 2007) (Release) - Fixed: Chr(0) now acting more sensible (now acts in a similar way to VBScript). 3.2.4.3 (17th May, 2007) (Release) - Fixed: FileRead() not working properly with unicode files. 3.2.4.2 (15th May, 2007) (Release) - 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) - 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) Big Changes: - 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. Other Changes: - Added: New modes for FileOpen() to force Unicode and binary operations. - Added: BinaryLen(), BinaryMid() - Added: Colored GUI buttons. - Added: DllStruct...() can reference elements by name rather than index. - Changed: Removed restrictions on the maximum number of #include directives. - Changed: Removed restrictions on the maximum number of DllOpen() handles. - Changed: Removed restrictions on the maximum number of open files. - Changed: Removed restrictions on the maximum number of hotkeys. - Changed: Performance improvements in StringStripWS(). - Changed: Binary data in variants are now treated as a special type, separate from normal strings. - Changed: BinaryString() renamed to Binary() - Changed: IsBinaryString() renamed to IsBinary() - Changed: ControlClick() can now click a control at a certain position. - Changed: ControlClick() can now properly simulate double-clicks. - Changed: ControlClick() no longer forces the activation of the parent window (up to the user now). - Changed: ControlClick() related coordinates added to Au3Info. - Changed: Improved the searches that can be done for windows/controls/instances. - Changed: From DEFAULT_QUALITY to PROOF_QUALITY for Change/Set Font functions. - Changed: x^y compatible with C99 standard. - Fixed: Possible crash when using StringStripWS(), flag 4 and empty strings. - Fixed: GUICtrlSetLimit() for UpDown controls wher min = max. - Fixed: GuiCtrlSetTip() not always working correctly. - Fixed: Slow GUI tab redrawing under Windows Vista fixed. - Fixed: HotKeySet bad notification. - Fixed: FileGetAttrib() on pagefile.sys. - Fixed: Invalid default parameter in GUICtrlSetData() not detected. - Fixed: Assign does return error on array element. - Fixed: FileOpen("test.txt", 2+8) returning error. - Fixed: Error detection in Enum statement. - Fixed: Opt("WinTitleMatchMode"). - Fixed: Stack corruption resulting from improper use of DllCall() now gracefully aborts the script instead of hard crashing. - Fixed: Crash when reading empty REG_MULTI_SZ. - Fixed: Round() not returning an integer. - Fixed: ControlSend() to empty "" ctrl fixed for inactive window. Also shift state behavior. - Fixed : O^(-1). - Fixed: Non detection of illegal statement. - Fixed: HotKeySet("^{PAUSE]",... notification. - Fixed: {CTRLBREAK} ->{BREAK} as ctrl is user responsability. - Fixed: $var = Default passed as parameter to Com object. - Fixed: Edit control would always have focus the first time the GUI was displayed even if it shouldn't. This behavior also ignored $GUI_FOCUS. - Fixed: range value for seed Number in SRandom(). - Fixed: Fileread crash if no count in raw mode. - Fixed: Opt("WinTitleMatchMode", <0) really matching case insensitive. - Fixed: FileSetAttrib/FileSetTime wrong setting. - Fixed: Execute/Call recursive overflow display error message. - Fixed: Aut2exe warning message if icon not found. - Fixed: WinGetTitle() returns 1 on error. - Fixed: Memory leak on keyword variable deallocation. 3.2.2.0 (23rd December, 2006) (Release) - 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. - Removed: old WinShow, TimerStart and TimerStop functions. - Changed: Performance improvements (up to 100% on some scripts!). - Changed: @error set to WinAPI GetLastError() for Run(). - Changed: Small tweak to Floor() to ensure it is not as susceptible to floating point precision errors. - Changed: Small tweak to Ceiling() to ensure it is not as susceptible to floating point precision errors. - Changed: PixelChecksum() is now over 30x faster. - Changed: FileGetVersion() extra parameter to retrieve string file info. - Fixed: MsgBox() timeout on Windows Vista. - Fixed: GuiCtrlRead on listview control when sorted. - Fixed: @OSVERSION on Windows 9x. - Fixed: GuiGetCursorInfo() with Handle not retrieving mouse click info. - Fixed: DllCall() crashes when using uint, ushort. - Fixed: List control height when font size changes. - Fixed: GUICtrlSetImage() not testing icon on error. - Fixed: @ScriptDir equal @WorkingDir for rootdir (x:\). - Fixed: GUIGetCursorInfo() (winhandle) when child not active. - Fixed: _StringAddComma(). (Thanks RazerM, by Smoke_N) - Fixed: drag & drop $GUI_EVENT_DROPPED notififation on edit control. - Fixed: Coherency of type parameter for DLLCall() and DLLSructCreate() - Fixed: Default keyword didn't always work correctly with COM objects. - Fixed: COM property write fails when using arguments - Fixed: Send/ControlSend for US international keyboard - Fixed: Send/ControlSend char>=chr(128) for english keyboards. - Fixed: COM property write fails when using arguments. - Fixed: MsgBox() with task modal flag left GUI's disabled on timeout. - Fixed: Error reporting by messagebox even with /ErrorStdOut. - Fixed: GUICtrlSetImage default icon value for Icon Ctrl. - Fixed: GUIRegisterMSG() destroyed @error. - Fixed: $LVS_SORTASCENDING with GUICtrlSetImage icon gave bad display. - Fixed: Some Object Collections could not be parsed in one AutoIt statement. - Fixed: Bad screen updating of already unchecked radiobuttons. - Fixed: Tray icon tooltip not displaying the scriptname when compiled. - Fixed: UDP... return code on error. - Fixed: UDPRecv() crashed on bad parameter. - Fixed: COM was corrupting floating point values. - Fixed: GUICtrlSetState doc remarks about menu control. - Fixed: Refresh after a GUICtrlSetBkColor(). - Fixed: Crash on line begining with ~ : "Unable to parse line". - Fixed: IniReadSectionNames() returned bogus data in Windows 98 when the INI file was empty or did not exist. - Fixed: @compiled when the script is compiled. - Fixed: Send() to italian keyboard. - Fixed: MouseMove() in secondary screen. - Fixed: StringInStr() not converting to string search parameter. - Fixed: Int() of a binarystring. - Fixed: ControlSend sending() special characters. - Fixed: Crash in Au3exe with badly formed input file in FileInstall(). - Fixed: Wrong execution of a compiled script containing FileInstall() inside #CS-#CE. - Fixed: FileInstall() referencing a file without any path will reference it from the ScriptDir to be coherent with the compiled script. - Fixed: Aut2exe crashed using cmdline with shortnames. (Thanks The Kandie man) - 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) - Fixed: (AU3INFO) Buffer overrun in control code. - Fixed: Exe2Aut.exe was missing its digital signature. 3.2.0 (12th August, 2006) (Release) - 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: (GUI) GUICtrlSetData text for treeview. - Added: (GUI) $WS_EX_MDICHILD support for GUICreate(). - Added: (GUI) GUICtrlCreateGraphic(), GUICtrlSetGraphic(). - Added: (GUI) Opt('GUIEventOptions',1) to suppress window action when clicking on Minimize,restore or Maximize buttons. - Added: (GUI) Right-click support for List/Treeview GUI control. - Added: (GUI) GuiCtrlRead return ControlID if Opt("GUIEventCompatibilityMode',2). - Added: (GUI) GUICtrlCreateMonthCal(). - Added: (GUI) Opt("GUIDataSeparatorChar",...). - Added: (GUI) GUICtrlCreateObj(). - Added: (GUI) GUICtrlSetColor(), GUICtrlSetBkColor(), GUICtrlSetImage() for ListviewItem controls. - Added: (GUI) GuiSwitch tabitemID optional parameter to allow dynamic control creation on a tabitem. - Added: (GUI) GuiCtrlListView support Icon view. - Added: (GUI) $GUI_WS_EX_PARENTDRAG Allow the label or pic control to be used as the title bar to drag the whole the parent window. - Added: (GUI) GUICtrlGetHandle(). - Added: (GUI) $GUI_EVENT_DROPPED @GUI_DRAGID,@GUI_DROPID. - Added: (GUI) GuiSetCursor(16),GuiCtrlSetCursor(16) hide the cursor. - Added: (GUI) Allow Dragfile to any control. @GUI_DRAGFILE contain the filename to be used in the $GUI_EVENT_DROPPED. - Added: (GUI) GUIRegisterMsg() to work with GUI WM_Message-routines at runtime. - Added: (GUI) GUICtrlRegisterListViewSort() to create a real sorting routine for GUI ListView's. - Added: (GUI) Icons for tab items. - Added: (AU3INFO) AutoIt Windows Info : Now shows Style and exStyle values for the controls. - Changed: #include search algorithm modified. - Changed: The /c command line option has been replaced by /AutoIt3ExecuteLine. - Changed: RegEnumKey and RegEnumVal return more precise @error to help diagnostic. - Changed: Return,@error, @extended have to be explicit to be return by an UDF. - Changed: FileFindFirstFile no longer returns "." or "..". - Changed: Set _ to be a continuation character ONLY after whitespace. - Changed: FileClose with an invalid handle no longer triggers an AutoIt runtime error. - Changed: Fatal error message is now displayed if DLLCall cannot be executed. - Changed: 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: (GUI) GUICtrlCreateList now forces the style LBS_NOTIFY. - Changed: (GUI) GUICtrlCreateIcon default size is 32x32. - 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 by Nutster) - 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: (GUI) GUICtrlSetImage for 16x16 icon not repainting. - Fixed: (GUI) The use of $GUI_GR_RECT and $GUI_GR_ELLIPSE under fixed under Win98. - Fixed: (GUI) GUI Edit/Input control change notification. - Fixed: (GUI) Avoid GuiSwitch when only one remain. - Fixed: (GUI) GUI Multiple files drag & drop on edit/input control. - Fixed: (GUI) GUI Colors on edit/input control. - Fixed: (GUI) GuiCtrlSetImage return 0 on error. - Fixed: (GUI) crash Autoit when click on header button of a listview control. - Fixed: (GUI) GUICtrlState(@SW_MAXIMIZE or @SW_RESTORE). - Fixed: (GUI) GuiCtrlSetStyle ES_READONLY on input/edit control. - Fixed: (GUI) GUICtrlCreateTab disapearing. - Fixed: (GUI) Resizing of GUI Combo control. - Fixed: (GUI) GUICtrlSetData for list or combo not inserting. - Fixed: (GUI) GUICtrlSetState for Menu/menuitem. - Fixed: (GUI) GUICtrlDelete of a Listview control lead to crash after recreation with more columns. - Fixed: (GUI) GUICtrlCreateListViewItem with more field than column. - Fixed: (GUI) GUISetFont and Input Control not displayed. - Fixed: (GUI) GUICtrlRead return on expanded TreeviewItem. - Fixed: (GUI) Windows centering of GUICreate. - Fixed: (GUI) GuiCtrlSetPos on Icon control. - Fixed: (GUI) GuiGetCursorInfo on tab. - Fixed: (GUI) Some flickering in GUICtrlSetImage. - Fixed: (GUI) GuiCtrlSetState on non active tab. - Fixed: (GUI) TreeviewItem notify when clicking a second time on the same item. - Fixed: (GUI) GuiCtrlSetData on inactive tabitem not refreshing active item. - Fixed: (GUI) GuiCtrlSetState on control tab. - Fixed: (GUI) GuiCtrlSetState disable on hidden control tab. - Fixed: (GUI) GuiGetCursorInfo with nonactive GUI. - Fixed: (GUI) Bug with accelerator keys (Alt+...) and tabs. - Fixed: (GUI) Treeview painting under OS paths - Added: MouseWheel() - Added: FileRecycleEmpty() - Added: RegEnumKey() and RegEnumVal() - Changed: TimerStart() renamed to TimerInit(). TimerStop() renamed to TimerDiff() - Changed: FileSelectFolder() flag parameter changed - Changed: REG_MULTI_SZ values allow double NULL values. - Changed: BirOr(), BitAnd() and BitXOR() take up to 255 parameters - Changed: Icon and windowstate options added to FileCreateShortcut() - Changed: RunAsSet() supports extra profile handling options - Changed: RegWrite() now accepts just the keyname in order to create a keyname with no value - Changed: "Allow Decompilation" option added to Aut2Exe - Changed: Aut2Exe gives feedback during compilation and gives the option to abort - Changed: Compiled scripts run/extract much faster when using FileInstall and medium/large files - Changed: Max number of user function limits removed - Changed: Max number of variable limits removed - Changed: -1 does no sleep at all for Send/Mouse delays (SendKeyDelay, etc...) - Changed: Optional occurance parameter added to StringInStr() - Changed: Optional default filename added to FileOpenDialog() and FileSaveDialog() - Changed: Registry functions accept 4 letters keys (HKLM instead of HKEY_LOCAL_MACHINE, etc.) - Changed: Remote registry keys are accepted in the form "\\computername\key\subkey" - Changed: AutoItSetOption returns the previous setting - Changed: (Internal) Built-in function lookups completely rewritten - Changed: (Internal) String functions speeded up (concat in astring and variants) - Changed: (Internal) ControlSearch modified to include the windowsearch - 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) - Added: MemGetStats() - Fixed: Compatibility problem under Windows 95a - Fixed: Some minor help file typos corrected 3.0.100 (29th Feb, 2004) (Release) - 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 for 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") - Added: FileWrite() and FileRead() - Changed: FileReadLine() and FileWriteLine() - Added: ToolTip() - Added: Eval() and IsDeclared() - Added: CaretCoordMode (AutoItSetOption) - Added: WinGetCaretPos() - Added: WinGetState() - Added: MustDeclareVars (AutoItSetOption) - Added: Editors page in help - Changed: EnvSet() - Changed: WinShow() renamed to WinSetState() (With WinShow() as an alias) - 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) - Added: SendAttachMode (AutoItSetOption) - Added: Opt() is an alias for AutoItSetOption() :) - Added: Doc updates - Added: WinSearchChildren (AutoItSetOption) - 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. - 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) - Changed: (Internal) Removed the only sscanf call and replaced with own code - saves 4KB. 3.0.92 (6th Feb, 2004) Note: Script breaking changes to ControlLeftClick(), FileFindFirstFile(), SendSetCapslockState() - Added: Dec() - Added: BitNOT(), BitXOR(), BitShift() - Added: TrayIconDebug (AutoItSetOption) - Added: Dim single-line initialization and multiple variables - Added WinTitleMatchMode 4 (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 - 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 - Fixed: @TempDir under certain conditions - Fixed: Hotkeys were ignored while another hotkey function was running - Changed: (Internal) DirRemove changed - Changed: (Internal) Sendkeys tweaked A LOT 3.0.91 (29th Jan, 2004) - Added: Options: MouseClickDelay, MouseClickDownDelay, MouseClickDragDelay (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 (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 coninuation _ 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 - 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 3.0.90 (20th Jan, 2004) - Fixed: Serious nested IF bug - Changed: (Internal) Rollback of variabletable.cpp and stacks/vectors 3.0.89 (19th Jan, 2004) - 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) - Added: ElseIf - Changed: All block structures (IF/WHILE/FOR, etc.) are now checked before execution. - Fixed: Some single hotkeys not working - Fixed: Better detection of illegal nesting, e.g.: if 1 = 1 while 1 endif wend - 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 3.0.87 (15th Jan, 2004) - Changed: Aut2Exe stores files it can't compress (.zip etc) rather than expanding - 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 - Changed: (Internal) variable_table.cpp rewritten - Changed: (Internal) All stacks/vectors replaced with templated code 3.0.86 (12th Jan, 2004) - 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 - 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 3.0.85 (9th Jan, 2004) - Added: HotKeySet() - Added: Abs(), Sin(), Cos(), Tan(), ASin(), ACos(), ATan(), Sqrt(), Log(), Exp() - Added: ^ operator - Added: Round() - Added: Call() - Changed: IniWrite/IniDelete() return 0 if they fail - Changed: No longer need to use virtual keys for FileCreateShortcut() - Fixed: Return value for FileCopy/FileInstall() - Fixed: Incorrect use of ExitLoop/ContinueLoop trapped - Changed: (Internal) Send() tweaking - Fixed: (Internal) Function calling/scope slightly bugged (Adlib, Hotkey) 3.0.84 (30th Dec, 2003) - Added: New window WinTitleMatchMode of 3 (for exact title match) - Added: Some more details added to helpfile - 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. I 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 :) 3.0.83 (30th Dec, 2003) - 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) - Added: Files installed with FileInstall() now have original timestamps (created/modified) - Added: IsNumber() - Fixed: Number to string conversions and general float parsing - Changed: (Internal) FileInstall() compression code updated 3.0.81 - 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) - Changed: Number to String conversions tweaked - Fixed: Massive bug fixed with arrays introduced in 3.0.76 - Fixed: Line continuation crash - Changed: (Internal) script reading code updated for Aut2Exe and merged with AutoIt 3.0.79 (15th Dec, 2003) - 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 - 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) e.g. MsgBox(0, "Test", "This is some text _ And more text _ And even more text") 3.0.78 (15th Dec, 2003) - 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 (30th Nov, 2003) - Added: New option "TrayIconHide" (AutoItSetOption) - Changed: "AutoIt -" prefix removed from compiled a script's tray icon - Changed: Compiled script's file properties point to a custom web page - Fixed: Tray icon should redraw after an explorer crash 3.0.76 (30th Nov, 2003) - Fixed: Couple of bugs with ContinueLoop and ExitLoop - Fixed: Statements like $test[$test[0]] now working 3.0.75 (30th Nov, 2003) - Added: ControlGetFocus() - Added: Local and Global keywords - Changed: Dim (along with Local/Global) can now be used as in vbscript to declare variables - Changed: FileOpenDialog() uses "|" as the delimiter instead of "," - Fixed: PixelSearch() - Fixed: SoundPlay()...maybe - Fixed: Splash() sizing issues 3.0.74 - 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 - Added: New option "RunErrorsFatal" (AutoItSetOption) - Added: New option "ExpandEnvStrings" (AutoItSetOption) - 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 - Fixed: Odd error message fixed where a user function contained a badly formatted line 3.0.72 - Fixed: Compiler was ignoring comments near FileInstall() functions - Fixed: Memory leak in StatusBarGetText() - Fixed: PixelGetColor - Added: New option "PixelCoordMode" (AutoItSetOption) 3.0.71 Get ready for some script rewriting...*holds up banner with BETA written on it :) * - Added: ControlSend() - Added: Framework for AutoItSetOption() - note: this function replaces all functions like WinSetDelay, SendSetDelay, MouseSetMode, etc. - Removed: MouseSetMode(), SendSetCapslockMode(), SendSetDelay(), WinSetDelay(), WinSetDetectHiddenText() WinSetTitleMatchMode() 3.0.70 - Fixed: SoundPlay() - 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() 3.0.69 - Fixed: Small delay added into mouseclick functions - Fixed: FileGetVersion() - Fixed: WinMenuSelectItem() - Fixed: StringSplit() buffer overrun 3.0.68 - Added: FileGetAttrib(), WinMenuSelectItem(), FileGetVersion() - Added: Added options to ControlCommand() - Changed: (Internal) Larry's nFlag functions split 3.0.67 - Changed: InputBox() narrowed slightly - 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 - Changed: (Internal) MessagePump handled differently and recursion level of Execute() tracked 3.0.66 - 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 - Added: ControlCommand() option GetCurrentLine - Fixed: Possible bug with optional "Then" statement fixed - (Internal) Window searching functions altered to check for hung windows 3.0.64 Fixed: IniWrite/Delete() functions were not flushing immediately under 9x. Added: Errors now include the file name that contained the error 3.0.63 - Changed: ControlCommand() various internal changes. - Fixed: MsgBox() character limit bug fixed - Changed: Can now specify a custom time for AdlibEnable() 3.0.62 - Fixed: Aut2Exe icon changing code bugged - Changed: Timing of "paused" flash and icon modified a little. 3.0.61 - Fixed: FileOpenDialog() - Changed: (Internal)Encryption code modified - check compiling thoroughly - Added: AutoIt icon flashes when in paused state 3.0.60 - 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 - Fixed: InputBox was not returning "" on cancel 3.0.58 - Fixed: The window text searching in AutoIt was not the same as AU3_Spy or WinGetText() - Added: InputBox() (and very nice it is too...) - Added: FileMove() 3.0.57 - Fixed: MsgBox under 9x was doing odd things with timeouts - tried something else. 3.0.56 - Fixed: Selecting the default icon in Aut2Exe was not saved between sessions - Fixed: @OSLang under NT4... - Added: SysTabControl32 tabbing 3.0.55 - 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 - Fixed: Compiled scripts with custom icons were failing - Fixed: @OS_LANG under 9x 3.0.53 - Added: StringSplit() 3.0.52 - 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 - Fixed: Aut2Exe still used ' comments when including files -whoops. 3.0.50 - Changed: (Internal)A little error checking added to the lexer - Added: @TAB, @COMSPEC - Changed: MouseClick() parameters changed - Added: MouseClickDrag() 3.0.49 - Fixed: Statusbar in Aut2Exe with Visual Styles - Changed: Single line comment character is now ; - Changed: ' and " may now be used for strings 3.0.48 - Added: StringIsFloat(), StringIsInt() - Fixed: MsgBox() wasn't returning -1 on timeout - Fixed: StringReplace() error if string to replace was at end of string - Changed: StringReplace() count is now optional (assumes global) - Added: Aut2Exe and AutoIt3 now use Visual Styles 3.0.47 - 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 - Fixed: RegDelete() return value when value does not exist - Fixed: CDTray() open/closed problems - Fixed: FileSelectFolder() crash due to missing initialisers 3.0.45 - Changed: Set...() functions renamed (SendSetDelay, WinSetDelay, etc.) - Added: StatusbarGetText() 3.0.44 - Added: Break() - Fixed: DriveStatus() - Fixed: RegDelete() 3.0.43 - Fixed: @OSLang for 2000+ - Added: Hex(), AutoItWinGetText() - Changed: UBound() back to how it was again (same as VBScript syntax) 3.0.42 (30th Aug, 2003) - Tweaked: Mouse coords were 1 pixel out - Added: MouseSetMode() to allow for screen _and_ relative coords - yay everyone's happy 3.0.41 (30th Aug, 2003) - Fixed: Bug with invalid filehandles (again!). - Changed: Mouse commands may now work on multiple monitors. - 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 - Added: Windows API error messages added onto errors for the Run() commands (directory invalid, bad logon, etc). 3.0.39 (29th Aug, 2003) - Added: RunAsSet() (2000/XP only) - Added: FileRecycle() 3.0.38 (28th Aug, 2003) - Changed: WinGetText now correctly takes note of detecthiddentext setting - Added: StringStripWS() - Added: DriveGetLabel(), DriveGetSerial(), DriveGetFileSystem(), DriveSetLabel(), DriveGetType(), MouseGetCursor() 3.0.37 - Changed: Compression tweaked in Aut2Exe - Changed: UBound($array) now returns number of dimensions - Renamed all the IsUpper/IsAlpha, etc functions to StringIsUpper/StringIsAlpha, etc. - Added: IsFloat(), IsArray(), IsInt(), IsString() - Added: Mod() 3.0.36 - Fixed: Main dialog in Aut2Exe - Added: New compression code (slower but better at higher levels) 3.0.35 - Added: FileInstall() support - Added: SplashImageOn(), SplashTestOn(), SplashOff() - Added: ProgressOn(), ProgressOff(), ProgressSet() - Added: Compression level option in Aut2Exe 3.0.34 - Fixed: subscript must be > 0 in Dim statement - Added: Compiled script reading code added - Added: @Compiled - Added: Aut2Exe 3.0.33 (22nd Aug, 2003) - 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/Read/Close - Fixed: Crash with badly formatted Func statements - Parsing speeded up (doubled the speed) - Optimized string handling in variants 3.0.32 (20th Aug, 2003) - Started proper version logging :) First public beta binary - 4th Mar, 2003. Development started - 20th Jan, 2003.