如何使用if语句?
flag := 1
if flag =1
{
msgbox,hello world!
}
return
if后面跟的就是表达式,因此flag后面不需要用":="。
如何使用循环语句?
分为loop、while
loop
loop是指定循环次数,如果省略了,他就无限循环,可以使用break或者return关键字退出循环。
num = 5
loop,%num% ;loop后面跟的这个数字直接就是需要循环的次数
{
msgbox,hello world!
}
while
num := 5
while, num
{
num := num - 1
msgbox,num = %num%
}
msgbox,终于运行完了!
num := 5
while, num
{
num := num - 1
msgbox,num = %num%
if(num = 2)
{
msgbox,老子不玩了!
break
}
}
msgbox,终于跳出来了!
变量之间如何做减法?
a := 1
b = % a + 1
c := b + 1
d := c + 1
msgbox, a = %a%
msgbox, b = %b%
msgbox, c = %c%
msgbox, d = %d%
单纯一个"="号的话,则将右面的信息来当做字符串来对待,若想将右面的某个变量真的被当做变量来处理的的话,需要将其用百分号括起来,例如 b = %a%,或者在表达式的后面加一个百分号,例如 b = % a + 1,这都是正确的,但是若是 b = %a% + 1 ,是得不到正确结果的,因为"+1"被当做字符串来处理了。
而用":="的话,则将右面的所有内容都当做变量和表达式来处理,很简单,推荐使用这种方式。
但单独一个a=1的话,是按照数值来处理的。
变量如何
什么叫做P模式?
p的意思是press按下,
当一个键被按住时,执行一定操作
$F1::
while GetKeyState("F1", "P") ; 当 F1 键实际被按住时.
{
send,1234567890
}
return
检测一个键是否按下了
a := GetKeyState("F1", "P")
msgbox,%a%
若F1按下了,那么返回的为1,若是没有按下,返回的为0。
如何对一个变量取反
使用not取反,取反之后输出为0,再取反之后就变为了1,这点和其他语言的规则一样。
flag = 1
msgbox,%flag%
flag := not flag
msgbox,%flag%
flag := not flag
msgbox,%flag%
msgbox定时自动关闭
msgbox的语法规则为
MsgBox, Text
MsgBox [, Options, Title, Text, Timeout]
因此定时关闭为
msgbox , , ,123,1 ;发送的内容为123,1秒后自动关闭
波浪号"~"的含义是什么?
热键触发时,不会只当做一个机关存在,按键原有的功能是还在的。
例如下面的代码,加上这个波浪号,按下1之后会输出“1222”,若是将这个波浪号去掉的话,则输出的是"222"。
~1::
send,222
Return
响应双击
intInterval := 1000 ; 若两次连击在这个时间间隔中,则视为双击。
~RControl::
if (A_PriorHotkey <> "~RControl" or A_TimeSincePriorHotkey > intInterval)
{
;~ msgbox,1
;~ KeyWait, RControl
;~ msgbox,2
return
}
MsgBox, 您双击了右边的 Ctrl 键。
return