2006-05-11 23:04 [AutoHotkey] 連按兩次Escape鍵來關閉視窗
偷懶是進步的原動力,即使就像關閉視窗這樣一個簡單的動作。
先前介紹過的StrokeIt!用右鈕畫個「L」可以達成關閉視窗的目標,但今天的需求是使用鍵盤。
EscapeClose是一個按Escape鍵來迅速關閉視窗的工具,它有幾種模式:
最後是使用AutoHotkey來完成這個需求。
先用最簡單的複合鍵 Ctrl+` (Escape鍵下方的Back Quote);WinGetActiveTitle取得目前視窗的標題,再用WinClose把此標題的視窗關閉:
接著用滑鼠左鈕,把左鈕(Lbutton)視同Ctrl、Shift等按鍵,按住不放後再按Escape鍵;按住不放A鍵再按B鍵的寫法是 「A & B」。
~在這裡是指示原有的左鈕仍要處理,若不加~則左鈕就整個失效了。
比照上例,我們也可以按住左鈕不放再按右鈕(RButton)來執行,以省去鍵盤的操作。
連按兩個Escape的寫法就複雜許多 :
大功告成!運作起來一切正常。
在撰寫與測試期間為了方便重新載入的腳本,另外寫了個重新載入的動作:按住左鈕不放再按R鍵。
##
先前介紹過的StrokeIt!用右鈕畫個「L」可以達成關閉視窗的目標,但今天的需求是使用鍵盤。
EscapeClose是一個按Escape鍵來迅速關閉視窗的工具,它有幾種模式:
- 模式一:按Escape鍵後,滑鼠游標自動到到視窗的關閉按鈕(X)處
- 模式二:按Escape鍵後 ,立即關閉視窗
- 模式三:按Escape鍵後,視窗最小化
最後是使用AutoHotkey來完成這個需求。
先用最簡單的複合鍵 Ctrl+` (Escape鍵下方的Back Quote);WinGetActiveTitle取得目前視窗的標題,再用WinClose把此標題的視窗關閉:
| ^`:: WinGetActiveTitle, Title WinClose, %Title% return |
接著用滑鼠左鈕,把左鈕(Lbutton)視同Ctrl、Shift等按鍵,按住不放後再按Escape鍵;按住不放A鍵再按B鍵的寫法是 「A & B」。
~在這裡是指示原有的左鈕仍要處理,若不加~則左鈕就整個失效了。
| ~LButton & Escape:: WinGetActiveTitle, Title WinClose, %Title% return |
比照上例,我們也可以按住左鈕不放再按右鈕(RButton)來執行,以省去鍵盤的操作。
| ~LButton & RButton:: WinGetActiveTitle, Title WinClose, %Title% return |
連按兩個Escape的寫法就複雜許多 :
- 用KeyWait讀取鍵盤輸入,如果0.5秒內不是按Escape則結束
- 0.5秒內按了Escape,則再讀第二個按鍵,若為Escape則關閉視窗
- 若第二個按鍵不為Escape則結束
| ~Esc:: Keywait, Escape, , t0.5 if errorlevel = 1 return else Keywait, Escape, d, t0.1 if errorlevel = 0 { WinGetActiveTitle, Title WinClose, %Title% return } return |
大功告成!運作起來一切正常。
在撰寫與測試期間為了方便重新載入的腳本,另外寫了個重新載入的動作:按住左鈕不放再按R鍵。
| ~LButton & r:: reload return |
##
平均分數:0 顆星 投票人數:0 人
我要評分:
我要評分:
回應





more