AutoIt 2.64 用户须知

不仅窗口及键击的概念不同,AutoIt v3 跟 v2.64 及更旧版本有很大的区别的.

但仍提供 v2.64 版本的下载.以供有些用户尝试并转换已有的脚本.

但是 v3 具有许多以往版本没有的性能,能使完成 GUI 自动化操作更加轻松简单,因此它是更好的通用脚本语言.

当开始使用 v3 之前阅读以下说明有助于使事情变得更容易一些. 

在 AutoIt 安装目录的“Extra”文件夹里有一个 v2.64 到 v3 的脚本转换工具.


- 反斜线字符不再是特殊字符,但也许引号却成为新的问题....
     例如, Run('C:\Windows\Notepad.exe "C:\Some File.txt" ')

- 命令行语法:
     只有脚本模式,即, AutoIt.exe <filename of script file>

- 约定:
     <cmd>, <parameter1> [,<parameter2>]  已被替换为 Cmd(parm1 [,parm2])


- 由于循环和用户定义函数的支持, Goto 已不再存在.

- AutoItv3 可以支持大多编程语言都有的变量类型, 比如: $myVar = "Example of assignment"

- 脚本文件的扩展名从 .aut 变成 .au3


如果您希望把某个 2.64 版本的脚本改写成 v3 的,下面这个表格应该会对您有用:    

版本 2.64 函数 相当于版本 3
AdlibOn AdlibRegister
BlockInput BlockInput
Break Break
DetectHiddenText AutoItSetOption("WinDetectHiddenText",...)
Exit Exit
EnvAdd [参见 + 操作符]
EnvDiv [参见 / 操作符]
EnvMult [参见 * 操作符]
EnvSub [参见 - 操作符]
FileAppend [FileOpen(...,2) followed by FileWriteLine]
FileCopy FileCopy
FileCreateDir DirCreate
FileDelete FileDelete or FileRecycle
FileInstall FileInstall
FileReadLine FileReadLine
FileRemoveDir DirRemove
FileSelectFile FileOpenDialog or FileSaveDialog
Gosub [参见 Func...EndFunc]
Return [参见 Func...EndFunc]
Goto [not needed]
HideAutoItDebug --
HideAutoItWin AutoItSetOption("TrayIconHide",...)
IfInString If StringInStr(...) Then
IfNotInString If Not StringInStr(...) Then
IfWinExist If WinExists(...) Then
IfWinNotExist If Not WinExists(...) Then
IfWinActive If WinActive(...) Then
IfWinNotActive If Not WinActive(...) Then
IfEqual [参见 = and == operators]
IfNotEqual [参见 <> 操作符]
IfGreater [参见 > 操作符]
IfGreaterOrEqual [参见 >= 操作符]
IfLess [参见 < 操作符]
IfLessOrEqual [参见 <= 操作符]
IfExist FileExists
IfNotExist If Not FileExists(...) Then
IfMsgBox [参见 MsgBox(...) and Select...Case...EndSelect]
IniRead IniRead
IniWrite IniWrite
IniDelete IniDelete
InputBox InputBox
LeftClick MouseClick("left",...)
RightClick MouseClick("right",...)
LeftClickDrag MouseClickDrag("left",...)
RightClickDrag MouseClickDrag("right",...)
MouseGetPos MouseGetPos
MouseMove MouseMove
MsgBox MsgBox
Random Random
RegRead RegRead
RegWrite RegWrite
RegDelete RegDelete
Repeat [参见 For...Next]
EndRepeat [参见 For...Next]
Run Run
RunWait RunWait
Send Send
SetCapslockState AutoItSetOption("SendCapslockMode",0) + Send ("{CAPSLOCK}")
SetEnv EnvSet
SetBatchLines --
SetKeyDelay AutoItSetOption("SendKeyDelay",...)
SetStoreCapslockMode AutoItSetOption("SendCapslockMode",...)
SetTitleMatchMode AutoItSetOption("WinTitleMatchMode",...)
SetWinDelay AutoItSetOption("WinWaitDelay",...)
Shutdown Shutdown
Sleep Sleep
SplashTextOn SplashTextOn 和其他相关
SplashTextOff SplashOff
StringCaseSense [参见各个函数]
StringLeft StringLeft
StringRight StringRight
StringMid StringMid
StringLen StringLen
StringReplace StringReplace
StringTrimLeft StringTrimLeft
StringTrimRight StringTrimRight
StringGetPos StringInStr
WinGetActiveStats [参见 WinGetPos, WinGetTitle, WinGetText]
WinGetActiveTitle WinGetTitle("")
WinKill WinKill
WinWait WinWait
WinWaitClose WinWaitClose
WinWaitActive WinWaitActive
WinWaitNotActive WinWaitNotActive
WinHide WinSetState(..., @SW_HIDE)
WinShow WinSetState(..., @SW_SHOW)
WinRestore WinSetState(...,@SW_RESTORE)
WinMinimize WinSetState(...,@SW_MINIMIZE)
WinMaximize WinSetState(...,@SW_MAXIMIZE)
WinActivate WinActivate
WinClose WinClose
WinMove WinMove
WinSetTitle WinSetTitle
WinMinimizeAll WinMinimizeAll
WinMinimizeAllUndo WinMinimizeAllUndo
#Include #Include
%CLIPBOARD% [参见 ClipGetClipPut]
A_OSTYPE @OSType
A_OSVERSION @OSVersion
A_SCRIPTNAME @ScriptName
A_SCRIPTDIR @ScriptDir
A_SCRIPTFULLPATH @ScriptFullPath
A_WORKINGDIR @WorkingDir
A_NUMBATCHLINES --
A_SEC @SEC
A_MIN @MIN
A_HOUR @HOUR
A_MDAY @MDAY
A_MON @MON
A_YEAR @YEAR
A_WDAY @WDAY
A_YDAY @YDAY
provider with jb51.net (unicode)