AutoHotkey 必备脚本

1. 背景

对于键盘党来说,AutoHotkey 简直是必备神器,自从用上了就离不开了。当然再锋利的刀刃,也要看你会不会使,AutoHotkey的脚本语言/语法设计的是真的烂。可一旦一个顺手的脚本写成了,你就再也离不开它了。

2. 安装AutoHotkey

下载地址:AutoHotkey

3. 第一个脚本

  1. 使用顺手的编辑器编写第一个脚本,文件命名为temp.ahk
; 按下 Win+N 时,打开记事本
#n::Run Notepad
;

安装好AutoHotkey之后,双击文件temp.ahk,系统托盘便出现了AutoHotkey的小图标,这时脚本已经生效了,按下Win+N可以看到记事本启动。

4. 是时候提高一波生产力了

脚本命名为keys.ahk

  • 快捷运行/停止网易云音乐
DetectHiddenWindows,On

; Ctrl+Alt+W 快捷打开/停止网易云音乐
^!w::
Process,Exist,cloudmusic.exe
if (%ErrorLevel% == 0){ ; 如果未运行,则启动
    Run "C:\Program Files (x86)\Netease\CloudMusic\cloudmusic.exe"
    WinWait,ahk_class DesktopLyrics
    WinMove,,,,A_ScreenHeight-64 ; 将桌面歌词移动到合适的位置
} else { ; 已启动则停止
; 停止后,系统托盘中网易云的图标仍然还在,需要鼠标飘过才能消失
; 于是在系统托盘范围内寻找网易云图标的位置,并将鼠标移动过去,之后再移动回来
    Run, taskkill /PID %ErrorLevel% /F,,Hide
    Sleep, 500
    CoordMode,Pixel,Screen
    CoordMode,Mouse,Screen
    MouseGetPos, MX, MY
    WinGetPos, Task_X, Task_Y, Task_W, Task_H, ahk_class Shell_TrayWnd
    ImageSearch, X, Y, Task_X, Task_Y/3, A_ScreenWidth, A_ScreenHeight, cloud_music_icon.bmp
    MouseMove, X, Y
    MouseMove, MX, MY
    CoordMode,Pixel,Relative
    CoordMode,Mouse,Relative
}
return
;

想听歌时:Ctrl+Alt+W
不想听了:Ctrl+Alt+W

  • 在资源管理器中快捷打开Cmder
    虽说在浏览文件时,可以通过右键菜单快捷得在当前目录打开Cmder,可用到右键,就要使用鼠标,手就要离开键盘,对于一个经常需要在终端下工作的程序员来说,这个不能忍,于是:
; Ctrl+Shift+T 在当前目录打开cmder
$^+t::
Process,Exist,explorer.exe
if (%ErrorLevel% != 0){
    if WinActive("ahk_class CabinetWClass"){
        path := getExplorerPath()   
        Run ,cmder "%path%"
        return
    } ; 如果在桌面
    if WinActive("ahk_class WorkerW"){
        Run ,cmder %A_Desktop%
        return
    }
}
; 获取当前路径的函数
getExplorerPath(){
    IfWinExist, ahk_class CabinetWClass
    {
        ControlGetText,address,ToolbarWindow323,ahk_class CabinetWClass
        StringLen, length, address
        StringRight, path, address, length-4
        return path
    }
    return
}

;

要在这个目录打命令?Ctrl+Shift+T,秒秒钟,一个 Cmder 准备就绪。

  • 在Sublime Text中快捷打开Cmder
    顺手的编辑器为Sublime Text,在Sublime Text中编辑完代码之后,通常需要打开终端编译运行刚刚的代码,常用的操作当然要方便又快捷,于是:
; Ctrl+Shift+T 在当前编辑文件的目录打开cmder
$^+t::
Process,Exist,sublime_text.exe
if (%ErrorLevel% != 0){
    if WinActive("ahk_class PX_WINDOW_CLASS"){
        WinGetTitle, title, ahk_class PX_WINDOW_CLASS
        StringGetPos,pos,title,\,r
        StringLeft, folder, title, %pos%
        Run ,cmder "%folder%"
        return
    }
}
;
  • 统一常用快捷键
    各种工具/IDE快捷键不尽相同,于是将几个最常用的快捷键统一如下:
; Ctrl + BackSpace 删除单词
#IF WinActive("ahk_class Notepad")
Ctrl & BackSpace::Send ^+{left}{BackSpace}
#IF

; Shift + Enter 另起新行
Shift & Enter::Send {End}{Enter}

; Ctrl + D 删除一行
; 对Sublime Text特殊处理(PX_WINDOW_CLASS)
; 只支持常用的几个IDE/编辑器
; 在不支持的窗口上,原样发送 Ctrl + D 快捷键
$^d::
if (WinActive("ahk_class PX_WINDOW_CLASS")){
    send ^l{delete}
    return
}
if (WinActive("ahk_class Notepad")
 or WinActive("ahk_class ApplicationFrameWindow") 
 or WinActive("ahk_class Qt5QWindowIcon")){
    send {home 2}{Shift down}{end}{right}{Shift up}{delete}
}else{
    send, ^d
}
return

; Alt+C关闭当前窗口
; 如果当前窗口是Chrome,则将快捷键映射为Ctrl + W,作用为关闭当前标签页,而不是关闭整个窗口
$!c::
if(WinActive("ahk_class Chrome_WidgetWin_1")){
    send {Ctrl down}w{Ctrl up}
}else{
    WinClose,A
}
return

5. 设置开机运行

  1. 右键该脚本,创建快捷方式
  2. 将快捷方式移动到windows启动目录
    注:Win+R打开运行,输入shell:startup即打开启动目录

6. 更多用法有待挖掘

给TA捐赠
共{{data.count}}人
人已捐赠
AHKV1办公

autohotkey实现文件(桌面和任意文件夹)自动整理

2018-1-19 21:20:13

AHKV1办公

QuickZ

2018-3-23 14:55:59

25 条回复 A文章作者 M管理员
  1. UptownBoy

    第一个有用,学习了

  2. wow

    太好了,学习

  3. wow

    新手学习

  4. daxUyyr

    新手入门,参考学习

  5. Hing

    先顶了在说,赚点积分下载IDE

  6. 不想说什么

    很好的一个网站 希望有更多的资源

  7. maxs

    新手入门,参考学习

  8. 望山观海

    先顶了在说

  9. haohaoxs

    新手入门,参考学习

  10. BlueSource

    新手入门,感谢大佬

  11. Virtual

    新手入门,感谢大佬

  12. 静

    新的尝试,确实省了很多功夫

  13. 盗草の静流

    新手入门,感谢大佬

  14. yusihai719

    不错不错,新手入门,刚试了一些,很感兴趣啊

  15. thewk

    不错不错,新手入门,可以参考学习。

  16. AU500

    感谢分享

  17. 英招

    支持大佬

  18. 毛小蒙

    点个赞 😁

  19. renzo

    为作者点赞.

  20. jhwong

    攒积分,现在还买不起,为作者点赞.

  21. Hagikun

    备注好仔细!感恩!

  22. sivhub

    不知为何知识又增长了 蟹蟹!

  23. autoIt

    本站有你更竟然

  24. lyonferris

    谢谢分享

  25. 李晓龙

    先顶了在说,赚点积分下载IDE

个人中心
有新私信 私信列表
搜索