ahk编程_autohotkey ahk 重点-基础-语法(一)

所有的脚本文件(.ahk)统一使用带BOM的UTF-8格式

写ahk, 只要一个 autohotkey.exe(建议使用unicode32位版本), 简单的, 临时的, 直接用记事本就可以, 但如果常用的话,建议还是使用一个有代码高亮及提示的工具更好, 如果需要编译成exe(在没有安装的电脑上直接双击运行), 那么还需要ahk2exe.exe(支持命令行调用), 如果对语法不是很熟悉或者写的脚本比较复杂, 带个 chm文档 是个好主意!

ahk大多数的变量,命令,指令等都不区分大小写

AutoHotkey 程序本身不做任何事情; 它需要一个脚本来告诉它该做什么. 脚本只是一个简单的以 .ahk 作为扩展名的文本文件, 其中包含了程序的指令, 像配置文件, 但功能更强大. 一个脚本可以执行一个动作然后退出, 但大多数脚本定义了一些[热键], 当热键按下时, 热键后面跟着的一个或多个动作将会执行.

ahk有很多的自定义的语法, 可能和其它的语言都不太相同, 如果没有编程经验还好, 有的话,反而容易搞混! 如:

一. # 开头表示指令, 通常是进行一些预处理或者设置, 比如

#NoEnv ;不检查空变量是否为环境变量(建议所有新脚本使用).

#NoTrayIcon ;不显示[托盘图标]

#Hotstring EndChars `n `t ;自定义热字串终结符

二. 内置命令, 注意它的使用方式, 和函数并不相同, 一般地, 命令直接 写在脚本中调用, 功能与函数调用类似, 但不使用圆括号, 而是直接写名字和逗号",", 第一个逗号","-也就是命令与参数之间-可以省略, 参数不需要引号, 他们都是字符串, 如果需要引用变量, 就使用百分号"%", 如果只有一个变量,也可以使用百分号表达式, 如果使用"%"括住,则两边不能有空格, 如果是一个"%" 则左边必须要有空格或者tab,如,下面的两个msgbox是相同的:

msgbox, % A_Tickcount

msgbox, %A_Tickcount%

run, notepad

上面的 run, notepad 将会打开记事本, 没有 .exe 也可以

三. 定义标签使用 一个 冒号结尾, 语句块(代码段)以 return 结束, 使用 goto, gosub调用:

myLabel:

;你的代码

return

四. 定义热字串使用两个冒号结尾, 以 return 束,如:

::abc::

msgbox, 666

return

:*:kk::msgbox, 666

上面的代码中, 开头的两个冒号 :: 表示使用默认选项, 当你按下abc后,不会马上触发,而是需要你按下一个终结符, 比如 tab, enter 等

使用 * 表示不需要按终结符, kk按下后, kk会被删除, 然后替换成 msgbox, 666, 要想显示一个对话框(即将 msgbox, 666 当作代码执行),需要加入x选项, 即 :*X:kk::msgbox, 666, 更多的选项, 请参考 帮助文档

五. 定义函数没有关键字, 直接使用下面的格式(有默认参数的需要放到后面):

函数名(参数1,参数2, 参数3="默认值", 参数4:="这样设置默认值也一样"){

;你的代码

return "返回值" ;字符串需要引号

}

六. 定义延续片段:

变量名 =

(

这是

延续

片段

可以很方便 666

)

::abc::

(

大段的

文本

替换

可以

使用

这种方式

)

七. 使用 ExitApp 退出脚本, suspend 暂停脚本所有热键,热字串等, 但 定时器 依然工具, pause 与 suspend 相反, 暂停所有 定时器,但 热键/热字串有效

八. 第一个包含 suspend/pause 的热键总是有效, 方便切换,比如下面的代码:

#SingleInstance force

SetTimer, test, 1000

pause::pause

#pause::Suspend

^p::msgbox, 888

test:

OutputDebug, % A_TickCount

return

上面的代码中, 定时器每秒向调试器输出当前的 tickcount , 按下 pause时, 脚本将暂停, 定时器不会再输出调试信息, 但此时按下 ^p 还是会弹出 对话框 888, 因为 pause 不暂停 热键/热字串, 再按下 #pause 后, 热键/热字串 也会被暂停, 此时再按 ^p 就不会弹出对话框, 但 #pause还是有效的, 再按一下即可恢复, 然后再按 pause, 定时器就会恢复输出调试信息

可以使用#include方式包含公共脚本到本脚本中, 一般地, 建议放到最后, include具体用法及注意点,请参考文档

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值