弱小。简略易学。

Windows的终极自动化脚本语言。

下载安装

AutoHotkey —— 官网

AutoHotkey中文指南

创立我的项目

  1. 右键点桌面空白处.
  2. 点击 "新建" 菜单.
  3. 点击外面的 "AutoHotkey Script" 新建一个脚本.
  4. 给脚本命名. 备注: 文件名必须带 .ahk 后缀, 例如 MyScript.ahk
  5. 找到刚刚新建的脚本并右键点击它.
  6. 点击 "Edit Script".
  7. 一个新窗口被弹出, 兴许是记事本. 如果是这样就胜利了!
  8. 新建一个文本文件,批改文件后缀名为 .ahk 格局也行

快捷键定义

;#代表win,

+代表shift,^代表Ctrl,

!代表Alt ;

如果要正文,能够用分号 也能够用//

1. 热键标记

!:是热键标记,这里的感叹号代表键盘上的 alt 键。
!n:即对应键盘热键 alt + n。

罕用热键标记对应关系:

  • # :win 键
  • ! :alt
  • ^ :ctrl
  • + :shift
  • & :用于连贯两个按键(含鼠标按键) 合并成一个自定义热键.

2. 连贯

符号 :: 意味着每次按下后面的热键时,随后的命令将会被执行。这里用来连贯热键标记和 Run 命令。

3. Run 命令

Run 命令:用来启动一个程序、文档、URL 网址或者快捷方式。如:

Run NotepadRun C:\My Documents\Address List.docRun www.yahoo.comRun mailto:someone@somedomain.com

把下面 3 局部组合起来即可实现自定义快捷键。

Ctrl^^
Shift++
Alt!!
Windows键##
#、^、+、!等个别不必{#}、{^}、{+}、{!}等
左Ctrl、左Shift、左Alt<^ <+ <!
右Ctrl、右Shift、右Alt>^ >+ >!
Enter{enter}
Tab{Tab}
F1、F12等F1、F12等{F1}、{F12}等
Esc{Esc}或{Escape}
空格{Space}
Backspace{Backspace}或{BS}
Delete{Delete} or {Del}
Insert{Insert} or {Ins}
↑、↓、←、→{Up}、{Down}、{Left}、{Right}
Home键{Home}
End键{End}
PageUp键{PgUp}
PageDown键{PgDn}
CapsLock键{CapsLock}

罕用操作

替换字符

   咱们来一个简略的例子:输出 chinar 主动替换为 `http://www.chinar.xin`

在关上的记事本中输出:

第一种写法:

::oyk::http://oykperson.xyz/

第二种写法:

::oyk::Send http://oykperson.xyz/return::bky::Send https://www.cnblogs.com/return

AHK语法中: Send 是发送命令, return 是完结

保留后,右键文件 →→ Run Script 运行脚本

而后,当咱们输出文本chinar 按下 空格键 / 回车键 / tab 键时,会主动帮咱们替换为http://www.chinar.xin

极速关上网页

Win+0

#0::Run https://tinypng.com/

自定义快捷键-关上文件或网址

Alt+n 或+c启动程序

!n::run notepad
!c::run, D:\SoftwareKit\_jade_new_soft\cmd_markdown_win64\Cmd Markdown.exe

一键拷贝文件门路

只须要Ctrl+shift+c即可拷贝文件门路

^+c::; null= send ^csleep,200clipboard=%clipboard% ;%null%tooltip,%clipboard%sleep,500tooltip,return

缩写疾速打出常用语

键入/jeff 后,再加空格、或 tab、或回车

::/mail::gmail@gmail.com::/jeff::http://www.jeffjade.com/::/con::console.log();::/js::javascript:;::/fk::轩学生这会子必定在忙,请骚后。thx。祝君:天天开心,日日欣悦。

激活/关上/暗藏程序

快捷键:Win+C

#c::IfWinNotExist ahk_class Chrome_WidgetWin_1{    Run "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"    WinActivate}Else IfWinNotActive ahk_class Chrome_WidgetWin_1{    WinActivate}Else{    WinMinimize}Return

音量得心应手

;最钟爱代码之音量得心应手;=========================================================~lbutton & enter:: ;鼠标放在任务栏,滚动滚轮实现音量的加减exitapp  ~WheelUp::  if (existclass("ahk_class Shell_TrayWnd")=1)  Send,{Volume_Up}  Return  ~WheelDown::  if (existclass("ahk_class Shell_TrayWnd")=1)  Send,{Volume_Down}  Return  ~MButton::  if (existclass("ahk_class Shell_TrayWnd")=1)  Send,{Volume_Mute}  Return  Existclass(class)  {  MouseGetPos,,,win  WinGet,winid,id,%class%  if win = %winid%  Return,1  Else  Return,0  };=========================================================

窗口操作

;=========================================================================#enter:: ;最大化窗口WinGet,S,MinMax,Aif S=0    WinMaximize,Aelse if S=1    WinRestore,Aelse if S=-1    WinRestore,Areturn!enter:: ;最爱代码之窗口置顶    WinGet ow, id, A    WinTopToggle(ow)    returnWinTopToggle(w) {     WinGetTitle, oTitle, ahk_id %w%    Winset, AlwaysOnTop, Toggle, ahk_id %w%    WinGet, ExStyle, ExStyle, ahk_id %w%    if (ExStyle & 0x8)  ; 0x8 为 WS_EX_TOPMOST.在WinGet的帮忙中        oTop = 置顶    else        oTop = 勾销置顶    tooltip %oTitle% %oTop%    SetTimer, RemoveToolTip, 5000    return     RemoveToolTip:    SetTimer, RemoveToolTip, Off    ToolTip    return}!x:: ;敞开窗口send ^wreturn#c:: ;cosea版以管理员身份关上cmd命令行Run *RunAs cmd ,,maxreturn#m:: ;窗口最小化WinMinimize, Areturn^delete::FileRecycleEmpty ;ctrl+del,清空回收站F7::Shutdown, 1 ;关机;Shutdown, 2 ;重启return;代码之革除所有标点符号================================F2:: ;革除所有标点符号,并换行run notepad,,maxLoop{StringReplace, clipboard, clipboard, `, , `r`n, UseErrorLevel ;革除英文逗号StringReplace, clipboard, clipboard, , , `r`n, UseErrorLevel ;革除中文逗号StringReplace, clipboard, clipboard, `; , `r`n, UseErrorLevel ;革除英文分号StringReplace, clipboard, clipboard, ; , `r`n, UseErrorLevel ;革除英文分号StringReplace, clipboard, clipboard, . , `r`n, UseErrorLevel ;革除英文句号StringReplace, clipboard, clipboard, 。 , `r`n, UseErrorLevel ;革除中文句号StringReplace, clipboard, clipboard, : , `r`n, UseErrorLevel ;革除英文冒号StringReplace, clipboard, clipboard, : , `r`n, UseErrorLevel ;革除中文冒号StringReplace, clipboard, clipboard, ‘’ , `r`n, UseErrorLevel ;革除中文双引号1StringReplace, clipboard, clipboard, “ , `r`n, UseErrorLevel ;革除中文双引号2StringReplace, clipboard, clipboard, ” , `r`n, UseErrorLevel ;革除中文双引号3StringReplace, clipboard, clipboard, ' , `r`n, UseErrorLevel ;革除英文双引号StringReplace, clipboard, clipboard, 、 , `r`n, UseErrorLevel ;革除中文顿号StringReplace, clipboard, clipboard, / , `r`n, UseErrorLevel ;革除右斜杠StringReplace, clipboard, clipboard, \ , `r`n, UseErrorLevel ;革除左斜杠StringReplace, clipboard, clipboard, - , `r`n, UseErrorLevel ;革除短横线StringReplace, clipboard, clipboard, —— , `r`n, UseErrorLevel ;革除长横线StringReplace, clipboard, clipboard, = , `r`n, UseErrorLevel ;革除等号StringReplace, clipboard, clipboard, + , `r`n, UseErrorLevel ;革除加号StringReplace, clipboard, clipboard, ( , `r`n, UseErrorLevel ;革除中文左括号StringReplace, clipboard, clipboard, ) , `r`n, UseErrorLevel ;革除中文右括号StringReplace, clipboard, clipboard, ( , `r`n, UseErrorLevel ;革除英文左括号StringReplace, clipboard, clipboard, ) , `r`n, UseErrorLevel ;革除英文右括号StringReplace, clipboard, clipboard, 【 , `r`n, UseErrorLevel ;革除中文【StringReplace, clipboard, clipboard, 】 , `r`n, UseErrorLevel ;革除中文】StringReplace, clipboard, clipboard, [ , `r`n, UseErrorLevel ;革除[StringReplace, clipboard, clipboard, ] , `r`n, UseErrorLevel ;革除]StringReplace, clipboard, clipboard, ! , `r`n, UseErrorLevel ;革除英文感叹号StringReplace, clipboard, clipboard, ! , `r`n, UseErrorLevel ;革除中文感叹号StringReplace, clipboard, clipboard, ? , `r`n, UseErrorLevel ;革除中文问号StringReplace, clipboard, clipboard, ? , `r`n, UseErrorLevel ;革除英文问号StringReplace, clipboard, clipboard, < , `r`n, UseErrorLevel ;革除英文<StringReplace, clipboard, clipboard, > , `r`n, UseErrorLevel ;革除英文>StringReplace, clipboard, clipboard, 《 , `r`n, UseErrorLevel ;革除中文《StringReplace, clipboard, clipboard, 》 , `r`n, UseErrorLevel ;革除英文》StringReplace, clipboard, clipboard, @ , `r`n, UseErrorLevel ;革除@StringReplace, clipboard, clipboard, # , `r`n, UseErrorLevel ;革除#StringReplace, clipboard, clipboard, $ , `r`n, UseErrorLevel ;革除$StringReplace, clipboard, clipboard, `% , `r`n, UseErrorLevel ;革除%StringReplace, clipboard, clipboard, ^ , `r`n, UseErrorLevel ;革除^StringReplace, clipboard, clipboard, & , `r`n, UseErrorLevel ;革除&StringReplace, clipboard, clipboard, * , `r`n, UseErrorLevel ;革除*StringReplace, clipboard, clipboard, `` , `r`n, UseErrorLevel ;革除`StringReplace, clipboard, clipboard, `:: , `r`n, UseErrorLevel ;革除::StringReplace, clipboard, clipboard, " , `r`n, UseErrorLevel ;革除"StringReplace, clipboard, clipboard, { , `r`n, UseErrorLevel ;革除{StringReplace, clipboard, clipboard, }, `r`n, UseErrorLevel ;革除}StringReplace, clipboard, clipboard, |, `r`n, UseErrorLevel ;革除|StringReplace, clipboard, clipboard, ·, `r`n, UseErrorLevel ;革除中文···StringReplace, clipboard, clipboard, ~, `r`n, UseErrorLevel ;革除~StringReplace, clipboard, clipboard, _ , `r`n, UseErrorLevel ;革除_    if ErrorLevel = 0  ; 不须要再进行替换.        break}sleep,200send,^vreturnF8:: ;革除Windows中文件名不能蕴含下列任何字符: \ / : * ? " < > | Loop{StringReplace, clipboard, clipboard, ? , , UseErrorLevel ;革除英文问号StringReplace, clipboard, clipboard, * , , UseErrorLevel ;革除*StringReplace, clipboard, clipboard, : , , UseErrorLevel ;革除英文冒号StringReplace, clipboard, clipboard, " , , UseErrorLevel ;革除"StringReplace, clipboard, clipboard, < , , UseErrorLevel ;革除英文<StringReplace, clipboard, clipboard, > , , UseErrorLevel ;革除英文>StringReplace, clipboard, clipboard, / , , UseErrorLevel ;革除右斜杠StringReplace, clipboard, clipboard, \ , , UseErrorLevel ;革除左斜杠StringReplace, clipboard, clipboard, |, , UseErrorLevel ;革除|    if ErrorLevel = 0  ; 不须要再进行替换.        break}return;神级代码之锁定中英文=============================================;性能:输入法状态提醒 ;f3强制中文 f4强制英文小写;环境:win10+搜狗输入法,输入法状态切换用默认的shift键。;作者:kazhafeizhale 知乎@oahgnat11#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.SendMode Input ; Recommended for new scripts due to its superior speed and reliability.SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.#SingleInstance forceXButton1::^cXButton2::^vF3::    SetCapsLockState,off    switchime(0)    switchime()returnF4::    SetCapsLockState,off    switchime(0)returnswitchime(ime := "A"){    if (ime = 1){        DllCall("SendMessage", UInt, WinActive("A"), UInt, 80, UInt, 1, UInt, DllCall("LoadKeyboardLayout", Str,"00000804", UInt, 1))    }else if (ime = 0)    {        DllCall("SendMessage", UInt, WinActive("A"), UInt, 80, UInt, 1, UInt, DllCall("LoadKeyboardLayout", Str,, UInt, 1))    }else if (ime = "A")    {        ;ime_status:=DllCall("GetKeyboardLayout","int",0,UInt)        Send, #{Space}    }}

失去以后选中文件的门路

;=========================================================#+c:: ;用快捷键失去以后选中文件的门路send ^csleep,200clipboard=%clipboard% ;windows 复制的时候,剪贴板保留的是“门路”。只是门路不是字符串,只有转换成字符串就能够粘贴进去了tooltip,%clipboard% ;提醒文本sleep,500tooltip,return;=========================================================

开机自启

把须要开机启动的脚本,放入 “启动” 文件夹即可。

目录:{C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup}

提醒:防止和零碎快捷键抵触

零碎的罕用快捷键都是应用Ctrl+XX和Alt+XX来组合的,而Win+XX的很少,所以咱们应该尽量应用Win+XX来组合
/*舒适提醒*/;Windows零碎默认的Win快捷键:;Win + E:关上资源管理器;;Win + D:显示桌面;;Win + F:关上查找对话框;;Win + R:关上运行对话框;;Win + L:锁定电脑;;Win + PauseBreak:关上零碎属性对话框;;Win + Q: 本地文件 / 网页等搜寻;;Win + U: 关上控制面板-轻松应用设置核心;