autohotkey

脚本语言

是一款免费的、Windows平台下开放源代码热键脚本语言,是为游戏操纵杆和鼠标创建的热键,是自动按键。也可以通过命令调用系统接口及程序,并创建基于简单语言的图形化界面的执行程序

平台简介
AutoHotkey 是一款免费的、Windows平台下开放源代码热键脚本语言
功能
通过发送键盘或鼠标的键击动作命令来实现几乎所有操作的自动化。您可以自己编写 宏(AutoHotkey Script) 或者使用宏录制器(AutoScriptWriter)来生成;
为键盘,游戏操纵杆和鼠标创建 热键。 事实上任何的按键、按钮或组合键都可以被设置为热键;
可以对Windows各类型窗口进行匹配以及相关属性调整(例如:透明、隐藏、置顶、改变大小等);
当键入您自定义的缩写时可以 扩展缩写。例如, 键入“btw”就可以自动扩展为“by the way”;
创建自定义的数据输入表格、用户界面、菜单等标准控件以及ActiveX 组件(例如IE浏览器控件)等。详情请看 图形界面 部分;
映射 键盘、游戏操纵杆和鼠标上的按键或按钮;
运行现有的AutoIt v2脚本并用 新功能 来增强它们;
脚本文件编译 成EXE可执行文件,使得程序在没有安装AutoHotkey的机器上得以运行;
借助 相关工具 以实现更强大的功能;
更多关于热键的说明
AutoHotkey 可令键盘、游戏操纵杆和鼠标的所有潜能都发挥出来。例如,除了典型的Control、Alt和Shift键之外,你还可以定义Win键(徽标键)和Capslock键作为调节键。 而实际上你还可以设置任意的键盘按键或鼠标按键作为调节键。详细内容请看 高级热键 部分。
其他功能
基本用法:
关闭或屏蔽Windows自有的快捷键,例如Win+E和Win+R;
取替Alt-Tab(通过按键、鼠标滚轮或按钮)从而减轻RSI(肢体重复性劳损);
本机代码互操作
可以调用COM和DLL对象进行功能扩展;
可以创建机器码地址,当它被调用时会重定向到脚本中的函数;
可以复制字符串内存地址或来自内存地址,并可以对其在指定代码页间进行转换;
文件、目录和磁盘管理
读取、写入、复制、删除、获取设置属性以及解释文本文件比起其他语言更容易;
提供面向对象的文件I/O操作
支持驱动器弹出以及获取驱动器列表、容量、剩余空间、文件系统卷标、序列号、类型、状态等;
可对IN文件(配置信息文件)进行读写操作。
多种条件判断(字符项目、窗口、文件、进程、错误返回值等),条件下采用{}区块以及制表符进行分层级;
可以配合变量进行多级循环复杂操作;
可以与一般编程一样创建自定义函数并调用;
图形界面:
使用您喜欢的图标、工具提示(ToolTip)、菜单项目和子菜单来自定义托盘图标菜单;
显示对话框、工具提示(Tooltips)、气球提示以及弹出菜单,与用户交互;
可以置顶自定义图片来做程序启动界面;
鼠标和键盘:
可以禁用或启用用户通过键盘和鼠标对电脑进行操作而脚本不受影响。
游戏操纵杆或键盘代替鼠标;
可以对窗口中的指定控件进行点击、改变文字等操作而不会出现鼠标点击事件;
数学相关:
可以进行一些科学运算(如三角函数平方根、幂运算、e^N等);
屏幕管理:
通过检测图像和象素色彩来自动执行游戏中的动作;
执行脚本动作来响应系统关闭或注销;
使用RunAs方式指定运行用户身份;
可以对进程进行是否存在、列表、优先级、等待运行、等待结束操作;
注册表:
可以循环读取注册表并操作;
可对注册表进行读写、删除操作。
声音命令:
调节音量、设置静音,以及其他关于声卡的设置;
可以播放wav音频;
字符串管理:
可以定义字符串变量对字符串变量进行截取、替换、正则表达式匹配、大小写改变等处理;
可以生成随机数,用户可以根据随机数生成自定义随机字符;
获取并改变剪贴板的内容,包括从资源管理器中复制的文件的名称;
针对一组与通配符匹配的文件进行操作;
窗口管理:
可以检测窗口是否处于各种状态(激活、最大化、存在、隐藏等);
可以获取窗口的标题、ahk_class、文字等相关信息方便鼠标等操作;
可以对窗口进行最大化、激活、隐藏、关闭、强制关闭、等待等相关操作;
其他:
可以获取系统环境(如幕分辨率、多显示器信息、系统对象的尺寸和其他系统属性)相关信息并执行预定操作;
监控您的系统。例如,当您不希望见到的窗口出现时自动关闭它们;
可以设置定时器并启用、停用该项目;
检测系统空闲时间。例如,在系统空闲的时候执行高CPU负荷的任务;
你只要有想像力,它可以完成更多工作。
兼容性
Windows 95/98/Me 下,一些 高级功能例如鼠标热键和 热字串 -- 在Win9x 平台将失效。
在Window8/8.1环境下,BlockInput会失效。
Windows RT操作系统上,需要越狱并下载指定编译版本Autohotkey,手动注册相关注册表项
即可使用,不保证所用命令有效。
注意事项
1、在字符串赋值双引号)、“,”(英文逗号)需要转义,转义符为“·”(Tab上面,1左边的字符),等同于其他语言的“\u201d。其他要转义的字符:回车“`r”,换行“`n”,制表符“`t”,空格“%A_Space%”,非注释分号“`;”,非引用百分号“`%”。
2、AHKer在接触AHK可能接触过其他语言,会有书写方面的问题。建议按照标准书写风格书写并严格使用制表符以及区块进行分层。语句各属性项目严格使用英文逗号分隔而不是空格,这会大大减少错误情况。
3、使用AutoScriptWriter录制的脚本可能会用语句冗余以及操作时间不当等操作,可以作参考并适当添加win相关命令以及PixelGetColor、ImageSearch等命令在恰当的时机操作。
4、窗口以及像素相关操作(如鼠标点击)默认为相对当前活动窗口,一些操作可能会错误。需要默认为全屏幕,请在脚本头添加:
CoordMode,Pixel,Screen
CoordMode,Mouse,screen
5、脚本运行时,默认会有任务栏图标及相关右键菜单,如不需右键菜单,请在脚本头添加Menu, Tray, NoStandard;如不需要显示任务栏图标,请在脚本头添加#NoTrayIcon。
翻译进度*
原英文帮助CHM文件被解压后,除去19个脚本页面,共计254个HTML网页文件。
待翻统计:
命令:220个共1.22M,剩79个共717K
杂项:18个共172K,剩14个共156K
根目录下:16个共366K,剩7个共221K
html 文件总计:254个页面共1.75M
未翻:100个页面共1.07M,约61.14%
已翻:154个页面共0.68M,约38.86%
主分支的版本帮助已完全翻译完毕, 翻译详情及下载请至AutoHotkey中文论坛
*AutoHotKey已推出中文版帮助,AHK版本v1.1.13.00。该中文帮助由 amnesiac 更新。
计划
(1)将官方论坛中Tuncay大大收集的Ahk Standard Library Collection(当前版本:201009181732)集成到帮助文件, 已放出第一个测试版, 欢迎下载及提供意见和建议!
(2)由于1.0.48.05版本主分支已经停止更新近一年, 而AutoHotkey_L分支持续更新, 增加了许多重要的特性, 因此接下来计划翻译其帮助文件.
新特性
许多命令支持使用 try/catch 代替 ErrorLevel 进行错误处理. 例如:
try
{
FileCopy, file1.txt, C: older
}
catch
MsgBox An error occured!
此外, 后面的这些命令设置 A_LastError 来辅助调试: FileAppend, FileRead, FileReadLine, FileDelete, FileCopy, FileMove, FileGetAttrib/Time/Size/Version, FileSetAttrib/Time, FileCreateDir, RegRead, RegWrite, RegDelete.
自动加载. 想了解更多信息, 请参阅 函数库.
#Include 可以明确加载函数库中任意一个库文件.
GUI 增强
对 Gui 命令和相关部分进行了一些增强:
引用 GUI 时可以用 名称或 HWND 代替介于 1 和 99 之间的数字.
Gui, New 创建新的匿名 GUI.
可以创建任意数目的命名或匿名 GUI.
新 GUI 选项: +HwndOutputVar, +ParentGUI
GUI 的拥有者可以为任意窗口: +Owner%HWND%.
Gui, Font 可以控制文本的反锯齿效果.
支持像 Internet Explorer WebBrowser 这样的 ActiveX 控件.
GuiControlGet, OutputVar, Name 获取与 GUI 控件关联的变量名.
在 Gui menus 中使用像 Ctrl+O 这样的键盘快捷键时会自动得到支持.
字体品质 可以通过 Font 子命令控制.
静态变量可以使用任意表达式进行初始化. 例如:
Sleep 500
Time() {
static Tick := A_TickCount
return A_TickCount - Tick
}
文本编码
FileRead, FileReadLine, Loop Read 和 FileAppend 支持 Windows 所支持的大部分文本编码, 而不限于系统默认的 ANSI 代码页. 可以用 FileEncoding 设置默认编码, 此设置在 FileRead 和 FileAppend 中可以使用如下方法覆盖:
FileRead, OutputVar, *Pnnn Filename
FileAppend [, Text, Filename, Encoding]
此处 nnn 必须是数值的 代码页标识符, 而 Encoding 遵循与 FileEncoding 相同的格式.
另请参阅: 脚本兼容性
可变参数函数 可以通过数组接受可变数目的参数, 而 可变参数的函数调用 可以用来传递可变数目的参数给函数.
图标支持的改进
不常见的大小
可以从可执行文件中提取操作系统支持的任意大小的图标资源. 当图标组中存在多种大小的图标资源时, 则使用其中最合适的大小. 在修订号 17 之前的版本中, 系统先选择任意的图标资源, 接着调整到系统的大图标尺寸, 然后调整回请求的尺寸.
资源标识符
使用负数的图标编号可以标识可执行文件中的一组图标资源. 例如, 下面的语句设置托盘图标为 ahk 文件的默认图标.
Menu, Tray, Icon, %A_AhkPath%, -160
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市