AHK入门之热键和热字串

作者: 派大星啊我 | 来源:发表于2016-06-05 22:04 被阅读3034次

# 前言

## 什么是AHK?

AHK是Auto Hot Key的首字母缩写,它是一种脚本语言,它让用户能够快捷或自动执行重复性任务。
详细请点 百度百科的Autohotkey,或者 AutoHotKey的维基百科

## 如何学习AHK。

首先AHK作为一门偏小众的语言,网上很少有视频讲解,所以我们要充分利用好它的手册。
其次多加练习。这也是学习每门语言必走的路。
幸好还是找到了一个讲的不错的教学视频。

# 使用

首先认识两个关键字。

## 热键和热字串。

### 热键

内容:当按下特定的按键或者按键顺序或者按键组合时激活某个或者某系列动作。

表示方式: (按键1)...(按键2)::(两个冒号)
按键x是指所选择的快捷键。比如

#q::    ; # 为 按键1, q 为 按键2。

号键指代的是win键,所以上面代码的意思是当你按下win键和q键时激活一个动作。

比如

#q::          ;按下win键和q键时激活运行记事本这个动作。
run Notepad   ;run为AHK中一个命令,相当于C语言中的关键字或者说是函数。还有msgbox等等。
return        ;return为返回值,在存在多个热键时需使用,不然热键中会起冲突。

注意:在AHK中是不区分大小写的。所以run和RUN和Run或RUn或其他作用是一样的。
误例:请尝试设置多个热键,并且每一个热键末端不加return,试试会有什么情况发生。

#### 几个命令

run:运行程序或者文档或其他

 > + 比如: run notepad       //运行记事本
 
Msgbox:显示带两个按钮的对话框 (是 和 否)对话框中可加内容。

 > + 比如: Msgbox,你好吗?  //显示你好吗?的对话框。
 
Send :在当前窗口输入文本内容。

 > + 比如: send how are you? //在当前窗口输入how are you?

### 热字串

内容:扩展或者说自动替换文本,当然也可以映射任何脚本动作。
表示方式
::(被替换内容)::(替换内容)
举例:
自动替换:

::hay::how are you?    ;当你输入hay时自动替换为how are you?
::nh::你好             ;当你输入nh时自动替换为你好

映射脚本:

::np::
run Notepad           ;当输入np加空格时激活运行记事本这个动作。
return
::nh::
send 你好。           ;在当前窗口输入你好。 
return               

误例:请尝试使用多个映射脚本和自动替换的组合,每个映射脚本末端不加return,试试会有什么情况发生。


### 自定义按键

内容:用来连接任何两个或多个按键组合成一个新的按键。
命令:&
内容:(按键1)&(按键2)&...&(按键n)

q&n::                          ;按下q和n
run notepad                    ;激活打开记事本这个动作。
return

## 全局变量和局部变量

命令:#IFwinactive
表示方式:#IFwinactive (在什么窗口)(热键或热字串)
举例:

全局变量:

#q::          ;按下win键和q键
run Notepad   ;** 任意窗口**激活打开记事本这个动作
return        

局部变量:

#IFwinactive 新建文本文档.txt - 记事本  ; 在**新建文本文档.txt - 记事本**窗口下
#q::                                  ;按下win键和q键
run Notepad                           ;激活打开记事本这个动作
return  

注意:同样不区分大小写。比如ifwinactive等等。
尝试一下。

# 总结

关键字:

  • 热键 : (按键1)...(按键2)::(两个冒号)
    热字串 : ::(被替换内容)::(替换内容)
  • 命令:send , run , msgbox ,ifwinactive,&
  • 全局和局部变量
  • 自定义按键 : &

注意事项:

  • AHK中不区分大小写:即run和RUN没有区别。
  • 考虑你是想要在全局还是局部中激活动作。

更多内容和命令请参考视频或者手册。


# 参考

相关文章

  • AHK入门之热键和热字串

    # 前言 ## 什么是AHK? AHK是Auto Hot Key的首字母缩写,它是一种脚本语言,它让用户能够快捷或...

  • AHK快易通教程(使用信手拈来按键帮你来花最少的时间掌握ahk)

    AHK快易通教程(使用信手拈来按键帮你来花最少的时间掌握ahk)之1.2 热字串和自动替换不知大家是否回家尝试了,...

  • 高效工具:AutoHotKey

    ahk是热键脚本文件扩展名的一种,编写ahk文件使用的脚本语言是autohotkey。autohotkey通过把常...

  • 3-2热键与热字符串

    这是一个热键: 这是一个热字串: 如果觉得官方教程啰里八嗦的,实在太啰嗦,可以参考下面的软件,只需点点嗯嗯抄抄改改...

  • AHK脚本中用双击作为热键

    实现思路 : 记录所击的键,与上一次所击的键进行对比判断 间隔时间是否在一个规定时间内 两次键击的是否是同一个键 ...

  • KMP字串匹配-入门

    1、串的定义 这里所说的串指的是字串,就是字符串,当然不是烧烤串。计算机的字串是用编码形式保存的,通常的ASCII...

  • 20170914

    1.如果得到随机的字串,长度和字串中出现的字符表可定义,并将字串倒序显示,如把0123456789作为基准的字串字...

  • linux_重要的几个热键和man page常用的按键

    以下为自己在学习linux过程中,记录的几个热键和man page常用的按键。 重要的几个热键 一,【tab】按键...

  • ES6字符串

    作者:米书林参考文章:《菜鸟教程》、《 ECMAScript 6 入门》(阮一峰) 字串的识别 ES6 之前判断字...

  • AutoHotKey技巧1:介绍、安装、使用和建议

    介绍 AutoHotKey是一款免费的、Windows平台下开放源代码的热键脚本语言,是为游戏操纵杆和鼠标创建的热...

网友评论

本文标题:AHK入门之热键和热字串

本文链接:https://www.haomeiwen.com/subject/ylyrdttx.html