
AutoHotkey(AHK)是一种免费的、开源的脚本语言,用于Windows操作系统。它允许用户创建快捷键、自动化任务、重映射键盘和鼠标按键等。AutoHotkey v2 是该工具的最新版本,引入了一些新特性和改进。以下是一些基本的 AutoHotkey v2 语法指南:
1. 基本结构
每个 AutoHotkey 脚本文件都以 .ahk 作为扩展名,并且包含一系列的热键定义、热字符串替换和热函数。
; 这是一个注释 #NoEnv ; 推荐使用以提高兼容性 SendMode Input ; 设置 Send 命令的模式为 Input,这通常是最快的模式 SetWorkingDir %A_ScriptDir% ; 将工作目录设置为脚本所在的目录 ; 热键定义 ^j:: MsgBox, 你按下了 Ctrl + J! return2. 热键
热键是由一个或多个修饰符(如 ^ 表示 Ctrl,+ 表示 Shift,! 表示 Alt)和一个普通键组成的组合。
; 打开记事本 ^n::Run notepad.exe ; 发送文本到当前活动窗口 ^+t:: Send, Hello, World! return3. 热字符串
热字符串是自动替换你输入的特定短语或缩写为其他文本的功能。
;:: => Oh, hello there! :*:btw::by the way4. 变量
在 AutoHotkey 中,你可以使用 % 符号来引用变量的值。
myText := "Hello" anotherText := "World" MsgBox, %myText% %anotherText%! ; 显示 "Hello World!"5. 循环与条件语句
AutoHotkey 支持各种编程中的基本控制流结构,包括循环和条件语句。
; 条件语句 if (A_OS = "Win7") { MsgBox, You are running Windows 7! } else if (A_OS = "Win10") { MsgBox, You are running Windows 10! } else { MsgBox, Unknown OS! } ; 循环 Loop, 5 { MsgBox, Loop iteration %A_Index% }6. 函数
你可以定义自己的函数来封装代码块,以便在脚本中重复使用。
MyFunction() { MsgBox, This is a custom function! } ; 调用函数 ^f::MyFunction()7. 注释
注释是以分号 (;) 开头的行或行的一部分,它们不会被执行。
; 这是一个单行注释 ; 多行注释示例: /* 这是第一行注释 这是第二行注释 */8. 文件操作
AutoHotkey 提供了一些内置的命令来处理文件和目录。
FileRead, content, C:\path\to\your\file.txt MsgBox, %content% FileAppend, ( This text will be appended to the file. ), C:\path\to\your\file.txt9. GUI(图形用户界面)
你可以使用 AutoHotkey 创建简单的图形界面。
Gui, Add, Text,, Enter your name: Gui, Add, Edit, vName w200 Gui, Add, Button, Default, Submit Gui, Show Return GuiClose: ExitApp ButtonSubmit: Gui, Submit MsgBox, Hello, %Name%! return总结
以上只是 AutoHotkey v2 语法的一小部分内容。AutoHotkey 拥有丰富的功能和命令,可以满足从简单到复杂的自动化需求。对于更详细的信息和高级用法,建议查阅 AutoHotkey 官方文档。
