autohotkey 常见语法

本文介绍了AutoIt编程中的条件语句(if...else)和循环语句(loop, while)的使用方法,包括如何进行变量运算、判断键的状态以及定时关闭消息框。还讲解了波浪号(~)在热键处理中的作用,以及如何检测键是否按下。此外,文章通过实例展示了变量取反的操作和双击事件的检测。
摘要由CSDN通过智能技术生成

如何使用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

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AutoHotkey是一个用于自动化任务和快速脚本编写的开源脚本语言。它可以用来创建热键绑定、自动化操作、窗口管理等。以下是AutoHotkey的一些语法特点和用法: 1. 定义热键绑定:使用双冒号(::)运算符定义一个热键,例如`F1::`表示按下F1键时触发后续的代码块。 2. 获取键状态:使用`GetKeyState`函数可以检测一个键是否被按下,例如`GetKeyState("F1", "P")`可检测F1键是否被按下。 3. 发送按键和字符串:使用`send`命令可以发送按键和字符串,例如`send,1234567890`会发送字符串"1234567890"到活动窗口。 4. 绑定事件:使用`~`波浪号可以绑定键盘事件,例如`~1::`表示按下1键时触发后续的代码块。 5. 检测双击:可以使用`A_PriorHotkey`和`A_TimeSincePriorHotkey`来检测是否发生了双击事件,例如在`~RControl::`代码块中检测右Ctrl键的双击事件。 6. 控制语句和函数:AutoHotkey支持常见的控制语句和函数,可以用来实现条件判断、循环等复杂逻辑。 总之,AutoHotkey提供了丰富的语法和功能,可以用于自动化任务、定制热键、模拟按键等多种场景。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [autohotkey 常见语法](https://blog.csdn.net/u014723479/article/details/104108890)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值