AutoHotKey 常用脚本

  1 ; IMPORTANT INFO ABOUT GETTING STARTED: Lines that start with a
  2 ; semicolon, such as this one, are comments.  They are not executed.
  3 
  4 ; This script has a special filename and path because it is automatically
  5 ; launched when you run the program directly.  Also, any text file whose
  6 ; name ends in .ahk is associated with the program, which means that it
  7 ; can be launched simply by double-clicking it.  You can have as many .ahk
  8 ; files as you want, located in any folder.  You can also run more than
  9 ; one .ahk file simultaneously and each will get its own tray icon.
 10 
 11 ; SAMPLE HOTKEYS: Below are two sample hotkeys.  The first is Win+Z and it
 12 ; launches a web site in the default browser.  The second is Control+Alt+N
 13 ; and it launches a new Notepad window (or activates an existing one).  To
 14 ; try out these hotkeys, run AutoHotkey again, which will load this file.
 15 
 16 ;让脚本持久运行 (即直到用户关闭或遇到 ExitApp).
 17 ;#Persistent
 18 
 19 ;强制加载新的脚本
 20 #SingleInstance force
 21 
 22 ;尝试加载图标
 23 IfExist, icon.ico ;花括号“{”不能和 IfExist 写在同一行
 24 {
 25 Menu TRAY, Icon, icon.ico ;这句会把 icon.ico 作为图标
 26 }
 27 
 28 ;定时器 输入为分钟数
 29 #t::
 30 ; 弹出一个输入框,标题 内容
 31 InputBox ,time,定时器,请输入一个时间(单位是分钟),,200,100 ;InputBox, time, 计时器, 请输入一个时间(单位是分钟)
 32 time := time*1000*60 ; 变量赋值,多一个冒号,乘以 1000*60  变time为分钟数
 33 Sleep,%time%
 34 MsgBox,,提示信息, 打卡啦
 35 return
 36 
 37 /*
 38 ;打开ie浏览器
 39 #1::
 40 run C:\Program Files\Internet Explorer\iexplore.exe
 41 return
 42  
 43 ;打开firefox浏览器
 44 #2::
 45 ;run D:\Program Files\Mozilla Firefox\firefox.exe
 46 run C:\Documents and Settings\koujincheng\Local Settings\Application Data\Google\Chrome\Application\chrome.exe
 47 return
 48 */
 49 
 50 ;打开everything
 51 ^!e::
 52 Run D:\Program Files\everything\Everything.exe
 53 return
 54  
 55 ;打开任务管理器
 56 ^!K::
 57 Run taskmgr
 58 return
 59  
 60 ;打开远程连接
 61 ^!m::
 62 Run mstsc
 63 return
 64  
 65 ;新建或激活记事本窗口
 66 ^!n::
 67 IfWinExist ahk_class Notepad
 68 WinActivate
 69 else
 70 Run Notepad
 71 return
 72  
 73 ;UltraEdit32
 74 ^!u::
 75 Run D:\Program Files\UltraEdit\Uedit32.exe
 76 return
 77  
 78 ;截图工具 FSCapture
 79 ^!c::
 80 Run D:\Program Files (x86)\FScapture\FSCapture.exe
 81 return
 82  
 83 ; Foxmail
 84 ^!f::
 85 Run D:\Program Files (x86)\Foxmail7.2\Foxmail.exe
 86 return
 87 
 88 ; P2PSearcher
 89 ^!p::
 90 Run D:\Program Files (x86)\P2PSearchers\P2PSearcher.exe
 91 return
 92  
 93 ;重新加载脚本
 94 ^!r::Reload  ; Assign Ctrl-Alt-R as a hotkey to restart the script.
 95 
 96 ;##################################################window script#############################################################
 97 ;###################################################窗口操作#################################################################
 98  
 99 ;最大化或还原(取消最大化)窗口
100 ~LAlt::            
101 Keywait, LAlt, , t0.3
102 if errorlevel = 1
103 return
104 else
105 Keywait, LAlt, d, t0.3
106 if errorlevel = 0
107 {
108 WinGet, DAXIAO , MinMax, A
109 if (DAXIAO = "1")
110 {
111 PostMessage, 0x112, 0xF120,,, A  ; 0x112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE
112 }
113 else
114 {
115 PostMessage, 0x112, 0xF030,,, A  ; 0x112 = WM_SYSCOMMAND, 0xF030 = SC_MAXIMIZE
116 }
117 }
118 return
119  
120 ;最小化窗口 记录最后三个最小化的窗口
121 ~RAlt::     
122 Keywait, RAlt, , t0.3
123 if errorlevel = 1
124 return
125 else
126 Keywait, RAlt, d, t0.3
127 if errorlevel = 0
128 {
129 If (WinActive("ahk_class Progman") or WinActive("ahk_class WorkerW"))
130 {
131 }
132 else
133 {
134 Last_Max_Id=0
135 WinGet, Last_Min_Id, ID, A
136 if (MinMemo1 = "0")
137 MinMemo1=%Last_Min_Id%
138 else if(MinMemo2 = "0")
139 {
140 MinMemo2=%MinMemo1%
141 MinMemo1=%Last_Min_Id%
142 }
143 else
144 {
145 MinMemo3=%MinMemo2%
146 MinMemo2=%MinMemo1%
147 MinMemo1=%Last_Min_Id%
148 }
149 IfWinNotActive ahk_class TXGuiFoundation
150 WinMinimize, A
151 else  ;qq窗口使用ctrl+alt+z 最小化
152 {
153 WinGetTitle, Temp0 , A
154 If Temp0 contains QQ20
155 {
156 sleep,100
157 Send, {CTRLDOWN}{ALTDOWN}z{ALTUP}{CTRLUP}
158 }
159 else
160 WinMinimize, A
161 }
162 }
163 } ;end if  errorlevel = 0
164 return
165 ;恢复最小化的窗口,最多三个(只能识别通过脚本最小化的窗口)
166 >!Space::      
167 if (MinMemo1 = "0") ;不存在通过脚本最小化的窗口
168 {
169 WinRestore, A
170 WinActivate,A
171 }
172 else if (MinMemo2 = "0") ;只有一个
173 {
174 WinRestore, ahk_id %MinMemo1%
175 WinActivate, ahk_id %MinMemo1%
176 MinMemo1=0
177 }
178 else if (MinMemo3 = "0")
179 {
180 WinRestore, ahk_id %MinMemo1%
181 WinActivate, ahk_id %MinMemo1%
182 MinMemo1=%MinMemo2%
183 MinMemo2=0
184 }
185 else
186 {
187 WinRestore, ahk_id %MinMemo1%
188 WinActivate, ahk_id %MinMemo1%
189 MinMemo1=%MinMemo2%
190 MinMemo2=%MinMemo3%
191 MinMemo3=0
192 }
193 return
194  
195 ;关闭窗口,在浏览器中为关闭标签页
196 ~Esc::     
197 Keywait, Esc, , t0.5
198 if errorlevel = 1
199 return
200 else
201 Keywait, Esc, d, t0.2
202 if errorlevel = 0
203 {
204 IfWinActive ahk_class ahk_class IEFrame ;识别IE浏览器
205 Send {ctrldown}w{ctrlup}
206 else IfWinActive ahk_class MozillaWindowClass ;识别firfox 浏览器
207 Send {ctrldown}w{ctrlup}
208 else
209 send !{F4}
210 }
211 return
212  
213 ;##################################################other script#############################################################
214 ;###################################################其它脚本################################################################
215  
216  
217 ;快速按下两次Ctrl 快速粘贴
218 /*
219 ~LCtrl::
220 Keywait, LCtrl, , t0.5
221 if errorlevel = 1
222 return
223 else
224 Keywait, LCtrl, d, t0.3
225 if errorlevel = 0
226 {
227 Send,^v
228 }
229 return
230 */
231  
232  
233 ;win+shift+f 在桌面上建立一个以当前日期命名的文件夹
234 #+f::
235 Click right ;在桌面当前鼠标所在位置点击鼠标右键
236 Send, wf ;快捷键新建文件夹
237 Sleep, 125 ; 把暂停时间改小
238 clipboard = %A_MM%-%A_DD%-%A_YYYY% ;%A_Hour%-%A_Min%-%A_Sec%-%A_MSec%;把当前的系统日期发送到剪贴板
239 Send, ^v{Enter} ;发送 Ctrl + v 和回车确认修改文件夹名称
240 return
241  
242 ;ctrl+win+c 得到当前选中文件的路径,保存到剪贴板中
243 ^#c::
244 send ^c
245 sleep,200
246 clipboard=%clipboard% ;解释:windows复制的时候,剪贴板保存的是“路径”.只是路径而不是字符串,只要转换成字符串就可以粘贴出来了
247 tooltip,%clipboard% ;提示文本
248 sleep,2000
249 tooltip, ;置空
250 return
251  
252 ; Win+O 关闭显示器
253 #o:: 
254 Sleep 1000  ; 让用户有机会释放按键 (以防释放它们时再次唤醒显视器).
255 SendMessage, 0x112, 0xF170, 2,, Program Manager   ; 关闭显示器: 0x112 为 WM_SYSCOMMAND, 0xF170 为 SC_MONITORPOWER. ; 可使用 -1 代替 2 打开显示器,1 代替 2 激活显示器的节能模式
256 return
257 
258 ;获取当前系统日期
259 ::ddd::
260 ;获得系统时间比如今天的时间:2013-07-17。如果需要“年”的话请替换上面的“-”。
261 d = %A_YYYY%-%A_MM%-%A_DD% 
262 ;把 d 的值发送到剪贴板,变量不用声明,引用变量的值时在变量的前后加“%”。clipboard是 AHK 自带的变量:剪切板
263 clipboard = %d% 
264 Send ^v
265 return
266 
267 ;获取当前系统时间
268 ::/time::
269 d = %A_Hour%:%A_Min%:%A_sec% 
270 clipboard = %d% 
271 Send ^v
272 return
273 
274 ;获取系统日期和时间
275 ::/all::
276 d = %A_YYYY%-%A_MM%-%A_DD% %A_Hour%:%A_Min%:%A_sec%
277 clipboard = %d% 
278 Send ^v
279 return
280 
281 ::/kou::
282 Send , koujincheng{Shift}{Tab}1234.abcdd{Enter}
283 return
284 
285 ;选中路径,快速打开
286 #j::
287 send ^c ; 复制选中的文字
288 clipwait ; 等待复制动作的完成
289 Clipboard := Trim(clipboard,A_Space) ;去除空格
290 Run  %clipboard%
291 return
292 
293 
294 ; Note: From now on whenever you run AutoHotkey directly, this script
295 ; will be loaded.  So feel free to customize it to suit your needs.
296 
297 ; Please read the QUICK-START TUTORIAL near the top of the help file.
298 ; It explains how to perform common automation tasks such as sending
299 ; keystrokes and mouse clicks.  It also explains more about hotkeys.

 

posted @ 2015-06-10 22:46  freshier  阅读(4327)  评论(0编辑  收藏  举报