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 <脚本文件名>

- 变化:
     以往的 <命令>, <参数1> [,<参数2>]  已变成 命令(参数1 [,参数2]) 这种函数形式.


- 随着对循环及自定义函数的支持,Goto 已不再存在.

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

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


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

   

V 2.64 版本的函数 V 3 版本中的替代函数
AdlibOn AdlibRegister
BlockInput BlockInput
Break Break
DetectHiddenText AutoItSetOption("WinDetectHiddenText",...)
Exit Exit
EnvAdd [见 + 运算符的说明]
EnvDiv [见 / 运算符的说明]
EnvMult [见 * 运算符的说明]
EnvSub [见 - 运算符的说明]
FileAppend [FileOpen(...,2) 然后再使用 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 [不再需要]
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 [见 = 和 == 运算符的说明]
IfNotEqual [见 <> 运算符的说明]
IfGreater [见 > 运算符的说明]
IfGreaterOrEqual [见 >= 运算符的说明]
IfLess [见 < 运算符的说明]
IfLessOrEqual [见 <= 运算符的说明]
IfExist FileExists
IfNotExist If Not FileExists(...) Then
IfMsgBox [见 MsgBox(...) 和 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