autohotkey快捷键
;已经基本修复了输入带shift的时候跟输入法中英文切换之间的冲突 SetStoreCapslockMode, off SetKeyDelay, 50 ^CapsLock:: #UseHook ;用这个和下面的off能实现代码不冲突,即这个区间的 才有作用,而不出发send right Send {Capslock} #UseHook off return CapsLock:: Send {Right} return :?:;s::SELECT !b:: run C:\Users\张博\Desktop\屏幕亮度调节小工具\屏幕亮度调节小工具.exe return $+[:: send {{} send {}} send {left} return $+9:: send {(} send {)} send {left} return $[:: send {[} send {]} send {left} return $+4:: send {$} send {$} send {left} return :*:;r::return{space} :*:;i::import{space} :*:;p::print(){left} :*:;e::exit(){enter} :*:;b::break :*:;c::continue SetWinDelay, 10 #ClipboardTimeout 2000 ;这个版本已经基本修复了输入括号等shift与切换中英文输入法之间的冲突 #s::Suspend ; 给一个热键指定挂起的开关功能。 #o::Pause :*:;t::15122306087 :*:;b:: send,break sleep,0.01 send,{Enter} return ^F2:: send f send o send r send {space} send i send {space} send r send a send n send g send e send ( send ) send : send {left 2} return ;使用技巧shift是+用多重Send,命令来实现多命令比如下面的按F4来写2维数组,之所以写的这么复杂就是因为剪贴板如果一个代码用多次必然出现bug: ;用()括起来来实现大范围复制: ;因为我括号替换写的不好,最好不要使用剪贴板: ;尽量用send 命令不会出现任何bug: ;写一下这个注释,这里winexist表示存在窗口,那么winclose就关闭,注意这里if括号里面要写return; ;不然他停不下来,继续跑,显然不行; ;这个处理比较麻烦,需要把这个py文件的打开方式的默认程序设置成idle.exe才行.然后写入这个run代码就ok了,总之用autohotkey写代码和快捷键都是锦上添花.: ;窗口命令的注意事项: ;这里面这个写法要注意:1.ifwin不能断开写. 2.后面窗口名字是windows最下排状态栏给的的名字 !q:: IfWinExist,射手影音播放器 { WinWait,射手影音播放器 WinClose,射手影音播放器 return } else { run D:\Downloads\c++++++++\经典轻音乐精选\经典轻音乐精选gai.mp3 return } ^b::Run www.baidu.com ^g:: IfWinExist, GoAgent v3.1.23 { return } else { run D:\新建文件夹 (4)xin\goagent-3.0\local\goagent(1).exe WinWait, GoAgent v3.1.23 ;这个代码是找到窗口 WinMove, 0, 0 ;WinMinimize ; 使用上面找到的窗口进行最小化.所以自动实现了打开就最小化 return } ^w::Run https://zh.wikipedia.org/wiki/Wikipedia:首页 !p:: IfWinExist, 无标题 - 画图 ;注意这里面的标题名字就是打开程序里面写的标题,注意中间带空格.;这样写就控制了程序开关. { WinClose return } else { run mspaint return } !j:: IfWinExist, 计算器 ;注意这里面的标题名字就是打开程序里面写的标题,注意中间带空格.; { WinClose return } else { run calc return } !m:: IfWinExist, 计算器 ;注意这里面的标题名字就是打开程序里面写的标题,注意中间带空格.; { WinClose return } else { run D:\新建文件夹 (4)xin\新建文件夹\音乐.mpcpl return } !c:: IfWinExist, cmd.exe ;写一下这个注释,这里winexist表示存在窗口,那么winclose就关闭,注意这里if括号里面要写return; ;不然他停不下来,继续跑,显然不行; { WinClose,cmd.exe return } else { run cmd return } !n:: IfWinExist,语录.txt - 记事本 ;不然他停不下来,继续跑,显然不行; { WinClose,语录.txt - 记事本 return } else { run d:\新建文件夹 (4)xin\语录.txt return } !g:: IfWinExist,个人信息16 2 22.txt - 记事本 { WinClose,个人信息16 2 22.txt - 记事本 return } else { run d:\新建文件夹 (4)xin\个人信息16 2 22.txt return } !d::run d:\ return !x::run D:\Downloads\视频区 return ^i:: send input() {enter} return :*:;m::15122306087@163.com ^NumpadAdd::SoundSet , +1, WAVE ^NumpadSub::SoundSet , -1, WAVE F3:: SetKeyDelay, 50 x=%clipboard% d=.append() clipboard=%d% Send ^v sleep,0.01 Send, {Left} clipboard=%x% return F4:: SetKeyDelay, 50 x=%clipboard% d='''''' clipboard=%d% Send ^v sleep,0.01 clipboard=%x% send {left 3} send {enter} send {enter} send {up} return F1:: SetKeyDelay, 50 x=%clipboard% d=for i in range(len()): clipboard=%d% Send ^v sleep,0.01 Send, {Left 3} clipboard=%x% return ;使用方法是输入,xun然后空格 :*:lsit::list :*:braek::break :*:berak::break :*:,rr::return{space} :*:dfe::def :*:retrun::return :*:retunr::return :*:calss::class :*:slef::self :*:slfe::self :*:apend::append :*:appedn::append :*:contiune::continue :*:contnue::continue :*:"::""{left} ;下面为了java扩充的: :*:;s:: SetKeyDelay, 50 x=%clipboard% d=System.out.println(); clipboard=%d% Send ^v sleep,0.01 Send, {Left 2} clipboard=%x% return !`:: SetKeyDelay, 50 x=%clipboard% d=● clipboard=%d% Send ^v sleep,0.01 clipboard=%x% return :*:':: SetKeyDelay, 50 x=%clipboard% d='' clipboard=%d% Send ^v Send {Left} sleep,0.01 clipboard=%x% return :*:;d:: SetKeyDelay, 50 x=%clipboard% FormatTime, d, LongDate, dddd MMMM d, yyyy H:mm ;获得系统时间比如今天的时间:2007-10-21。如果需要“年”的话请替换上面的“-”。 clipboard = %d% ;把 d 的值发送到剪贴板,变量是不用声明的,想引用变量的值,就在变量的前后加“%”。第二行的变量是 AHK 自带的变量。 Send ^v clipboard=%x% return
更新了:发现send用法后面接一个字符会更稳定
$':: send {'} send {'} send {left} return ;send最稳的写法是每次send一个字符 $":: send {"} send {"} send {left} return ;已经基本修复了输入带shift的时候跟输入法中英文切换之间的冲突 SetStoreCapslockMode, off SetKeyDelay, 50 ^CapsLock:: #UseHook ;用这个和下面的off能实现代码不冲突,即这个区间的 才有作用,而不出发send right Send {Capslock} #UseHook off return CapsLock:: Send {Right} return :?:;s::SELECT !b:: run C:\Users\张博\Desktop\屏幕亮度调节小工具\屏幕亮度调节小工具.exe return $+[:: send {{} send {}} send {left} return $+9:: send {(} send {)} send {left} return $[:: send {[} send {]} send {left} return :*:;r::return{space} :*:;i::import{space} :*:;p::print(){left} :*:;e::exit(){enter} :*:;b::break :*:;c::continue SetWinDelay, 10 #ClipboardTimeout 2000 ;这个版本已经基本修复了输入括号等shift与切换中英文输入法之间的冲突 #s::Suspend ; 给一个热键指定挂起的开关功能。 #o::Pause :*:;t::15122306087 :*:;b:: send,break sleep,0.01 send,{Enter} return ;使用技巧shift是+用多重Send,命令来实现多命令比如下面的按F4来写2维数组,之所以写的这么复杂就是因为剪贴板如果一个代码用多次必然出现bug: ;用()括起来来实现大范围复制: ;因为我括号替换写的不好,最好不要使用剪贴板: ;尽量用send 命令不会出现任何bug: ;写一下这个注释,这里winexist表示存在窗口,那么winclose就关闭,注意这里if括号里面要写return; ;不然他停不下来,继续跑,显然不行; ;这个处理比较麻烦,需要把这个py文件的打开方式的默认程序设置成idle.exe才行.然后写入这个run代码就ok了,总之用autohotkey写代码和快捷键都是锦上添花.: ;窗口命令的注意事项: ;这里面这个写法要注意:1.ifwin不能断开写. 2.后面窗口名字是windows最下排状态栏给的的名字 !q:: IfWinExist,射手影音播放器 { WinWait,射手影音播放器 WinClose,射手影音播放器 return } else { run D:\Downloads\c++++++++\经典轻音乐精选\经典轻音乐精选gai.mp3 return } ^b::Run www.baidu.com ^g:: IfWinExist, GoAgent v3.1.23 { return } else { run D:\新建文件夹 (4)xin\goagent-3.0\local\goagent(1).exe WinWait, GoAgent v3.1.23 ;这个代码是找到窗口 WinMove, 0, 0 ;WinMinimize ; 使用上面找到的窗口进行最小化.所以自动实现了打开就最小化 return } ^w::Run http://cn.bing.com/?FORM=Z9FD1 !p:: IfWinExist, 无标题 - 画图 ;注意这里面的标题名字就是打开程序里面写的标题,注意中间带空格.;这样写就控制了程序开关. { WinClose return } else { run mspaint return } !j:: IfWinExist, 计算器 ;注意这里面的标题名字就是打开程序里面写的标题,注意中间带空格.; { WinClose return } else { run calc return } !m:: IfWinExist, 计算器 ;注意这里面的标题名字就是打开程序里面写的标题,注意中间带空格.; { WinClose return } else { run D:\新建文件夹 (4)xin\新建文件夹\音乐.mpcpl return } !c:: IfWinExist, cmd.exe ;写一下这个注释,这里winexist表示存在窗口,那么winclose就关闭,注意这里if括号里面要写return; ;不然他停不下来,继续跑,显然不行; { WinClose,cmd.exe return } else { run cmd return } !n:: IfWinExist,语录.txt - 记事本 ;不然他停不下来,继续跑,显然不行; { WinClose,语录.txt - 记事本 return } else { run d:\新建文件夹 (4)xin\语录.txt return } !g:: IfWinExist,个人信息16 2 22.txt - 记事本 { WinClose,个人信息16 2 22.txt - 记事本 return } else { run d:\新建文件夹 (4)xin\个人信息16 2 22.txt return } !d::run d:\ return !x::run D:\Downloads\视频区 return ^i:: send input() {enter} return :*:;m::15122306087@163.com ^NumpadAdd::SoundSet , +1, WAVE ^NumpadSub::SoundSet , -1, WAVE F3:: SetKeyDelay, 50 x=%clipboard% d=.append() clipboard=%d% Send ^v sleep,0.01 Send, {Left} clipboard=%x% return F4:: SetKeyDelay, 50 x=%clipboard% d='''''' clipboard=%d% Send ^v sleep,0.01 clipboard=%x% send {left 3} send {enter} send {enter} send {up} return F1:: SetKeyDelay, 50 x=%clipboard% d=for i in range(len()): clipboard=%d% Send ^v sleep,0.01 Send, {Left 3} clipboard=%x% return ;使用方法是输入,xun然后空格 :*:lsit::list :*:braek::break :*:berak::break :*:,rr::return{space} :*:dfe::def :*:retrun::return :*:retunr::return :*:calss::class :*:slef::self :*:slfe::self :*:apend::append :*:appedn::append :*:contiune::continue :*:contnue::continue ;下面为了java扩充的: :*:;s:: SetKeyDelay, 50 x=%clipboard% d=System.out.println(); clipboard=%d% Send ^v sleep,0.01 Send, {Left 2} clipboard=%x% return !`:: SetKeyDelay, 50 x=%clipboard% d=● clipboard=%d% Send ^v sleep,0.01 clipboard=%x% return :*:':: SetKeyDelay, 50 x=%clipboard% d='' clipboard=%d% Send ^v Send {Left} sleep,0.01 clipboard=%x% return :*:;d:: SetKeyDelay, 50 x=%clipboard% FormatTime, d, LongDate,yyyy-MM-dd,H点mm ;获得系统时间比如今天的时间:2007-10-21。如果需要“年”的话请替换上面的“-”。 clipboard = %d% ;把 d 的值发送到剪贴板,变量是不用声明的,想引用变量的值,就在变量的前后加“%”。第二行的变量是 AHK 自带的变量。 Send ^v clipboard=%x% return ^F1:: SetKeyDelay, 50 x=%clipboard% d=for i in range(): clipboard = %d% Send ^v Send {LEFT 2} clipboard=%x% return
$':: send {'} send {'} send {left} return ;send最稳的写法是每次send一个字符 $":: send {"} send {"} send {left} return ;已经基本修复了输入带shift的时候跟输入法中英文切换之间的冲突 SetStoreCapslockMode, off SetKeyDelay, 50 CapsLock::SendInput {Right} ;这样改就避免冲突了 Esc::CapsLock :?:;s::SELECT !b:: run C:\Users\张博\Desktop\屏幕亮度调节小工具\屏幕亮度调节小工具.exe return $+[:: send {{} send {}} send {left} return $+9:: send {(} send {)} send {left} return $[:: send {[} send {]} send {left} return :*:;r::return{space} :*:;i::import{space} :*:;p::print(){left} :*:;e::exit(){enter} :*:;b::break :*:;c::continue SetWinDelay, 10 #ClipboardTimeout 2000 ;这个版本已经基本修复了输入括号等shift与切换中英文输入法之间的冲突 #s::Suspend ; 给一个热键指定挂起的开关功能。 #o::Pause :*:;t::15122306087 :*:;b:: send,break sleep,0.01 send,{Enter} return ;使用技巧shift是+用多重Send,命令来实现多命令比如下面的按F4来写2维数组,之所以写的这么复杂就是因为剪贴板如果一个代码用多次必然出现bug: ;用()括起来来实现大范围复制: ;因为我括号替换写的不好,最好不要使用剪贴板: ;尽量用send 命令不会出现任何bug: ;写一下这个注释,这里winexist表示存在窗口,那么winclose就关闭,注意这里if括号里面要写return; ;不然他停不下来,继续跑,显然不行; ;这个处理比较麻烦,需要把这个py文件的打开方式的默认程序设置成idle.exe才行.然后写入这个run代码就ok了,总之用autohotkey写代码和快捷键都是锦上添花.: ;窗口命令的注意事项: ;这里面这个写法要注意:1.ifwin不能断开写. 2.后面窗口名字是windows最下排状态栏给的的名字 !q:: IfWinExist,射手影音播放器 { WinWait,射手影音播放器 WinClose,射手影音播放器 return } else { run D:\Downloads\c++++++++\经典轻音乐精选\经典轻音乐精选gai.mp3 return } ^b::Run www.baidu.com ^g:: IfWinExist, GoAgent v3.1.23 { return } else { run D:\新建文件夹 (4)xin\goagent-3.0\local\goagent(1).exe WinWait, GoAgent v3.1.23 ;这个代码是找到窗口 WinMove, 0, 0 ;WinMinimize ; 使用上面找到的窗口进行最小化.所以自动实现了打开就最小化 return } ^w::Run http://cn.bing.com/?FORM=Z9FD1 !p:: IfWinExist, 无标题 - 画图 ;注意这里面的标题名字就是打开程序里面写的标题,注意中间带空格.;这样写就控制了程序开关. { WinClose return } else { run mspaint return } !j:: IfWinExist, 计算器 ;注意这里面的标题名字就是打开程序里面写的标题,注意中间带空格.; { WinClose return } else { run calc return } !m:: IfWinExist, 计算器 ;注意这里面的标题名字就是打开程序里面写的标题,注意中间带空格.; { WinClose return } else { run D:\新建文件夹 (4)xin\新建文件夹\音乐.mpcpl return } !c:: IfWinExist, cmd.exe ;写一下这个注释,这里winexist表示存在窗口,那么winclose就关闭,注意这里if括号里面要写return; ;不然他停不下来,继续跑,显然不行; { WinClose,cmd.exe return } else { run cmd return } !n:: IfWinExist,语录.txt - 记事本 ;不然他停不下来,继续跑,显然不行; { WinClose,语录.txt - 记事本 return } else { run d:\新建文件夹 (4)xin\语录.txt return } !g:: IfWinExist,个人信息16 2 22.txt - 记事本 { WinClose,个人信息16 2 22.txt - 记事本 return } else { run d:\新建文件夹 (4)xin\个人信息16 2 22.txt return } !d::run d:\ return !x::run D:\Downloads\视频区 return ^i:: send input() {enter} return :*:;m::15122306087@163.com ^NumpadAdd::SoundSet , +1, WAVE ^NumpadSub::SoundSet , -1, WAVE F3:: SetKeyDelay, 50 x=%clipboard% d=.append() clipboard=%d% Send ^v sleep,0.01 Send, {Left} clipboard=%x% return F4:: SetKeyDelay, 50 x=%clipboard% d='''''' clipboard=%d% Send ^v sleep,0.01 clipboard=%x% send {left 3} send {enter} send {enter} send {up} return F1:: SetKeyDelay, 50 x=%clipboard% d=for i in range(len()): clipboard=%d% Send ^v sleep,0.01 Send, {Left 3} clipboard=%x% return ;使用方法是输入,xun然后空格 :*:lsit::list :*:braek::break :*:berak::break :*:,rr::return{space} :*:dfe::def :*:retrun::return :*:retunr::return :*:calss::class :*:slef::self :*:slfe::self :*:apend::append :*:appedn::append :*:contiune::continue :*:contnue::continue ;下面为了java扩充的: :*:;s:: SetKeyDelay, 50 x=%clipboard% d=System.out.println(); clipboard=%d% Send ^v sleep,0.01 Send, {Left 2} clipboard=%x% return !`:: SetKeyDelay, 50 x=%clipboard% d=● clipboard=%d% Send ^v sleep,0.01 clipboard=%x% return :*:':: SetKeyDelay, 50 x=%clipboard% d='' clipboard=%d% Send ^v Send {Left} sleep,0.01 clipboard=%x% return :*:;d:: SetKeyDelay, 50 x=%clipboard% FormatTime, d, LongDate,yyyy-MM-dd,H点mm ;获得系统时间比如今天的时间:2007-10-21。如果需要“年”的话请替换上面的“-”。 clipboard = %d% ;把 d 的值发送到剪贴板,变量是不用声明的,想引用变量的值,就在变量的前后加“%”。第二行的变量是 AHK 自带的变量。 Send ^v clipboard=%x% return ^F1:: SetKeyDelay, 50 x=%clipboard% d=for i in range(): clipboard = %d% Send ^v Send {LEFT 2} clipboard=%x% return