2006/05/11 | 分類: AutoHotkey鍵盤工具 | 點擊數: 8 / 2983 偷懶是進步的原動力,即使就像關閉視窗這樣一個簡單的動作。 先前介紹過的StrokeIt!用右鈕畫個「L」可以達成關閉視窗的目標,但今天的需求是使用鍵盤。 EscapeClose是一個按Escape鍵來迅速關閉視窗的工具,它有幾種模式: 模式一:按Escape鍵後,滑鼠游標自動到到視窗的關閉按鈕(X)處 模式二:按Escape鍵後 ,立即關閉視窗 模式三:按Escape鍵後,視窗最小化 但Escape鍵是經常使用的按鍵(例如中文輸入時的取消鍵),因此單單用一個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 ##
[AutoHotkey] 連按兩次Escape鍵來關閉視窗
最新推荐文章于 2022-07-14 09:28:16 发布