作者VElysian (家瑀 致中和)
看板EzHotKey
标题[AHK-] AutoHotKey 入门教学 - 重复一系列动作
时间Tue Jul 22 18:58:32 2008
Repeating a series of actions over and over
http://www.autohotkey.com/docs/Tutorial.htm#Loop
重复一系列的动作:
Loop (也称为回圈)指令可以让 AutoHotKey 一直重复做同一件事情。
下面示范连续显示同一个 MsgBox 三次:
Loop 3
{
MsgBox 这个视窗将会显示三次唷~~
}
关於
MsgBox http://www.autohotkey.com/docs/commands/MsgBox.htm
──────────
你也可以将 Loop 後面的数字改成一个变数,
这样 Loop 执行的次数将由变数箱子里的数字的大小来决定:
RunCount = 5
Loop %RunCount%
{
Run C:\Check Server Status.exe
Sleep 60000
; 等待 60 秒,这段绿色不会执行
}
以上面例子来说,
除非 RunCount = 0,否则 Loop 都会被执行,
执行次数由 RunCount 数字大小决定,这里则是执行 5 次。
──────────
要让 Loop 停止执行,只要改变它的执行条件就行了。
下面这个 script 会在你按下 F1 时,自动一直按滑鼠左键:
$F1:: ; 将 F1 设定成快速键
; $ 符号可以帮助下面的 GetKeyState 在模式 P 找到 F1 这个快速键.
Loop ; 这里没有数字,
; 也就是说 Loop 不会停止, 直到在中括号遇到 "return" 或 "break".
{
; 如果下面这个 if-表达式 成立, 表示你放开了 F1.
if not GetKeyState("F1", "P")
break ; 离开这个 Loop.
; 否则 (上面那个 if-表达式 不成立), 执行下面剩下的指令.
Click ; 在目前滑鼠位置上按一下左键.
}
return
上面的例子类似其他程式语言的 "while...do" 回圈。
也就是说,当某些条件被满足时,Loop 不会停止。
以这个范例来说,当你按下 F1 时,Loop 会一直帮你连按滑鼠左键。
一旦你放开 F1,GetKeyState 侦测到 F1 没有被按下,於是 break 被执行,
Loop 也就停止了。
这种类型的 Loop 其实是很被广泛使用的。
关於
break http://www.autohotkey.com/docs/commands/Break.htm
──────────
如果为了特定需求,还可以考虑下列几种 Loop 类型:
档案 - 读取/写入 回圈(File-reading/writing loop):
藉由撷取某段文字的特定几行的方式,一行一行将特定档案转换成另一种格式。
也可以用来依照特定条件搜寻符合的某行文字。一次一个。
http://www.autohotkey.com/docs/commands/LoopReadFile.htm
档案和资料夹回圈(Files and folders loop):
藉由档案或资料夹的资讯可以对符合条件的档案及资料夹做处理。一次一个。
http://www.autohotkey.com/docs/commands/LoopFile.htm
Parsing loop:
可以取出一长串文字中的单词,一次一个。
例如说将 "Red,Green,Blue" 切开成三等分。
http://www.autohotkey.com/docs/commands/LoopParse.htm
登录档回圈:
处理指定的登录档项目,一次一个。
http://www.autohotkey.com/docs/commands/LoopReg.htm
File-reading/writing loop:
Retrieves the lines in a text file, one at a time.
This can be used to transform a file into a different format
on a line-by-line basis.
It can also be used to search for lines matching your criteria.
Files and folders loop:
Retrieves the specified files or folders, one at a time.
This allows an operation to be performed upon each file or folder
that meets your criteria.
Parsing loop:
Retrieves substrings from a string, one at a time.
This allows a string such as "Red,Green,Blue"
to be easily broken down into its three component fields.
Registry loop:
Retrieves the contents of the specified registry subkey,
one item at a time.
--
主动是机会的诱饵
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.62.72.196
1F:推 qqttpp:推你 我之前看他说明看半天 07/23 00:27
※ 编辑: VElysian 来自: 61.62.72.58 (08/01 19:20)
2F:推 bizarre0310:唔,还是很需要功夫才能理解及操作 01/06 01:13
※ 编辑: VElysian 来自: 61.62.111.209 (07/12 22:40)