輕鬆學會彈指神功-揭露AutoHotkey絕技

2009/12/01 補充:

如果你只是想要定義字串替換、定義鍵盤功能而不想弄清楚AutoHotkey這一堆指令的話,請再參考:PhraseExpress:凡人版的AutoHotkey


2010/10/17:

因為已經有Unicode的Autohotkey分支出現,文中以剪貼簿方式處理中文的作法可以不使用了,細節請看這篇文章。

AutoHotkey的高度客製功能,讓你成為效率高手

如果你分析每天操作電腦時所重覆執行的動作-相同的網址、相同的電子信箱、相同的文字輸入等等,你會驚訝的發現重覆頻率之高令人咋舌。如果你想從諸多的重覆動作裡解脫而出,並且能有效提升操作電腦的效率,那麼AutoHotkey是你不能錯過的工具,善用AutoHotkey將讓你輕而易舉的成為效率高手。

AutoHotkey小檔案

AHK-Icon

AutoHotkey:鍵盤與滑鼠工具

AutoHotkey顧名思義就是協助你將常用按鍵自動化的工具,而這些自動化的操作可以由使用者依自身的需求來設置,隨著設定的項目日漸擴充齊全,AutoHotkey帶給你的便利也日益增多。AutoHotkey好處多多,只要幾個簡單步驟安裝好,再建立一個寫有AutoHotkey指令的文字檔案(這個檔案稱為AutoHotkey的腳本檔)就能開始享受它帶來的速度感與便利性。「咦~還要寫指令?會不會很困難,我只是會用電腦的使用者而已呀!」別怕別怕,不要被「指令」這兩個字嚇到了,建立腳本檔的過程就只是像是打篇文章而已,請耐心的看下去,本文會一步一步地把建立腳本檔的步驟清楚、簡單的介紹給你,讀者們只要依樣畫葫蘆馬上就能感受到AutoHotkey的強大威力了!

在正式開始之前,先把AutoHotkey提供的功能以它本身的術語介紹給你:

  • 熱鍵(HotKey)
    熱鍵也可稱為快捷鍵(Shortcut Key),意指某個按鍵能執行特定的功能。在Windows系統裡,〔Win+E〕開啟檔案總管、〔Win+R〕開啟執行視窗是幾個常用的熱鍵之二。而AutoHotkey的熱鍵功能則讓你自行建立專屬你個人的快捷鍵。

    雖然HotKey的對象似乎只限鍵盤,但事實上連滑鼠的按鈕、滾輪與搖桿也都能依你的需要來設置。

  • 熱字串(HotString)
    熱字串是比照熱鍵而來的名詞,有的系統會稱呼為「縮寫」,指的是輸入較短的字串(縮寫的關鍵字)而能自動擴展成較長的文字,例如只要輸入「inet」四個英文字母就能自動變成「網際網路」,而更令人興奮的是:所有的熱字串都是你自已設定的。
  • 操作流程的判斷與迴圈控制:如果AutoHotkey只具備了鍵盤與滑鼠的自訂功能,那它充其量也不過是個鍵盤工具罷了,但事實上AutoHotkey提供了許多指令用來判斷諸多事項,具備程式控制能力,因而晉身為巨集(Macro)工具,能依需要再做更細部的處理與控制。我們可以簡單地把巨集或腳本視為一種簡易、好寫的程式,雖說簡單但功能可是一點也不馬虎。
  • 圖形介面與腳本合體:AutoHotkey也提供了許多視窗、按鈕等圖形介面的指令,能讓我們很輕易的建立操作用的小視窗,從而提供了更方便與更優越的使用介面,而這些指令都能透過一支SmartGUI.exe執行檔用拖拉的方式來自動產生。

AutoHotkey的基本功能介紹完畢,以下進入主題。首先說明AutoHotkey的安裝步驟。

AutoHotkey下載與安裝

1.使用IE或FireFox等瀏覽器進入下載網頁,點選「AutoHotkey」進行下載,當「檔案下載」對話盒出現後,選取你常用的工具資料夾,把檔案存入此資料夾。

AHK-2

2.下載後的「AutoHotkey104705_Install.exe」就是安裝執行檔,請雙擊此檔案以執行安裝步驟。首先按〔Next〕。

AHK-2

3.在授權頁裡可以確認AutoHotkey是使用GPL授權的,因此你可以安心使用。閱讀授權說明完畢後再按〔I Agree〕進入下一頁。

AHK-3

4.接著選取要安裝的類型,如果想啟動.ahk檔案的拖拉功能的話,則把第三項的【Enable drag & drop onto scripts】選項勾選起來,同時保持【Main Program】和【Script Compiler】的勾選狀態,最後按〔Next〕。

AHK-4

5.最後指定安裝的資料夾,預設是「C:\Program Files\AutoHotkey」,你也可以把它裝到USB隨身碟裡,以增進可攜性。資料夾選取好後按〔Install〕。

AHK-5

6.檔案解壓縮並複製後按「Finish」即告全部安裝完畢。若不想檢視讀我檔案的話,則取消〔Show Readme〕勾選。

AHK-6

AutoHotkey安裝完成後不必重新啟動電腦,爾後副檔名.ahk會自動關聯到AutoHotkey.exe,只要點擊副檔名為.ahk的檔案就能啟動AutoHotkey來讀取該檔案的內容,再依腳本檔內容來設置鍵盤與滑鼠。AutoHotkey安裝資料夾裡有幾個重要檔案要請大家注意:

檔案名稱

功能說明

AutoHotkey.exe、AutoHotkey.chm AutoHotkey的主程式與說明檔。AutoHotkey.chm具有搜尋功能,是很好的學習參考文件
AU3_Spy.exe Active Window Info,顯示視窗系統訊息的小工具,這些訊息對進階的腳本撰寫很有幫助
SmartGUI.exe 用拖拉的方法來定義視窗與其內的各種視覺元件,最後產生的腳本檔。這個工具可以說是一個程式產生器
AutoScriptWriter.exe 一樣是個產生AutoHotkey腳本檔的產生器,不過是採取錄製鍵盤與滑鼠操作過程的方法來產生腳本內容
Ahk2Exe.exe 把腳本檔產生成執行檔的工具,以方便沒有安裝AutoHotkey系統的環境能用執行檔直接執行。
Ahk2Exe.exe是命令列指令,語法如下:

Ahk2exe.exe /in "test1.ahk" /icon "test1.ico"

總之,我們只要把AutoHotkey的設定與指令寫在副檔名為.ahk的文字檔裡,就能設定需要的動作。以下我們由淺入深、按部就班地展示AutoHotkey的各項功能。

由簡單的範例開始使用AutoHotkey的熱字串

1.請用【開始→程式集→附屬應用程式→記事本】啟動記事本(或使用你慣用的文字編輯程式),輸入以下內容後儲存成 test1.ahk。

AHK-7

以上是常用網址與常用電子郵件的幾個熱字串範例,提示幾個重點:

  • 每行開頭若以半形分號開頭則表示此列是說明註解,不會被執行
  • 熱字串的關鍵字(或稱縮寫)必須用兩個半形冒號夾住,再把要擴展的結果寫在結尾的冒號後面,只能寫一行(多行的寫法請見後面的說明)
  • 雖然範例中的關鍵字只有一個字母,實際運用上可任意組合多個字母與數字

雙擊test1.ahk後就能在System Tray裡看到AutoHotkey的H圖示,表示已執行並載入test1.ahk。我們另行建立一個test.txt來測試,開啟test.txt後,只要鍵入「y!」與一個觸發符號(此符號可以是〔空白〕、〔Tab〕鍵或〔Enter〕鍵等,能透過指令定義),則關鍵字會替換成冒號後面的內容:

輸入文字 觸發符號 替換後的內容
y! 空白 http://tw.yahoo.com/
g! Tab http://www.google.com.tw
w! Enter http://www.wretch.cc
@g 空白 @gmail.com
@m 空白 @Your_Mail_Address.com.tw

觸發符號要使用〔空白〕或〔Enter〕鍵悉聽尊便,我個人是習慣用〔空白〕。另外,為了避免在中文輸入狀態下使用到拆字按鍵而造成中文無法正常輸入,建議關鍵字以一個特殊字元開頭或結尾,例如範例中的驚歎號與@符號,不過此二符號必須加按〔Shift〕鍵,不甚方便也影響輸入速度,建議可使用單鍵符號,例如單引號、分號、斜線或逗點等來組成關鍵字,我個人常用的是單引號、斜線與逗點,最好是選用中文輸入法未使用到的字元,以方便能在中文狀態下也能輸入。以下是修改成單引號與斜線後的範例:

輸入文字 觸發符號 替換後的內容
‘y 空白 http://tw.yahoo.com/
‘g Tab http://www.google.com.tw
‘w Enter http://www.wretch.cc
/g 空白 @gmail.com
/m Tab @Your_Mail_Address.com.tw

編輯修改test1.ahk後必須重新載入才能讓變動生效,重新載入有兩種方法:

  1. 在右下角System Tray找到AutoHotkey的H圖示後,按右鍵選【Exit】以結束目前的AutoHotkey,再雙擊修改後的test1.ahk以重新啟動AutoHotkey
  2. 第二個是較簡便的方法,一樣開啟System Tray的H圖示後,按右鍵選【Reload This Script】即可重新讀入修改後的腳本指令

AHK-8

常用的幾種熱字串範例

讀者們可以自行彙總日常常用的字串,將之設置於.ahk檔案內,再把.ahk檔案存到啟動資料夾裡,如此便能自動重覆使用了。筆者彙總幾類常用的字串供各位做參考與當做你設定的啟始內容,你可由http://www.mediafire.com/?myzblw2zgmb下載test1.ahk或把下列表格的前兩欄「關鍵字」與「替換後的內容」寫入test1.ahk即可:

關鍵字 替換後的內容 說明 分類
::’g:: http://www.google.com.tw Google網站 常用搜尋網站
::’y:: http://www.yahoo.com.tw Yahoo!網站
::’l:: http://www.live.com 微軟Live Search網站
::’dic:: http://dictionary.yahoo.com.tw Yahoo!奇摩字典 字典網站
::’cdic:: http://140.111.34.46/newDict/dict/index.html 教育部重編國語辭典修訂本網站
::@g:: @gmail.com 常用電子郵件
::@h:: @ms1.hinet.net
::’tk:: Thanks. 內容也可用「謝謝」,端視使用頻率而定 常用郵件文字
::btw:: By the way,
::’br:: Best regards,
::’sy:: Sincerely yours,
::’me:: 我的名字 你的姓名。輸出的竟是亂碼?等等,後面有破解方法 個人資訊

熱字串配合使用AutoHotkey的按鍵字串

如果你在瀏覽器網址列輸入範例內的熱字串後,可能會想是否能讓熱字串能自動輸出〔Enter〕鍵呢?如果可以的話,我們就可以少按一個〔Enter〕鍵了,這個需求只要在熱字串裡加上按鍵字串就能輕而易舉的達成。AutoHotkey按鍵的寫法是在按鍵名稱前後加上大括號,因此{enter}就代表〔Enter〕鍵,{home}就代表〔Home〕鍵,以下列舉幾個常用的按鍵:

{Enter} Enter鍵 {Escape}或{Esc} Escape鍵 {Tab} Tab鍵
{Backspace}或{BS} 倒退鍵 {Delete} 刪除鍵 {Insert} 插入鍵
{Up}、{Down}、
{Left}、{Right}
方向鍵 {PgUp}、{PgDn} 換頁鍵 {CapsLock} 大寫鍵
{NumLock} 數字鎖定鍵 {Ctrl}
{LCtrl}、
{RCtrl}
控制鍵與左、右控制鍵 {Alt}、
{LAlt}、
{RAlt}
Alt鍵與左、右Alt鍵

上面的寫法除了鍵盤之外,滑鼠按鈕也能用相同的格式來表示,例如:

{LButton}、
{MButton}、
{RButton}
左、中、右鈕 {WheelDown}、
{WheelUp}
滾輪向下與向上

按鍵字串裡若加上數字代表連續輸出數個相同的按鍵,例如{Left 3}表示輸出3個左鍵(務必只用半形字元,全形是無法使用的),等於{Left}{Left}{Left},按鍵字串和數字的間必須以至少一個半形空白分隔開。熱字串加上這些按鍵的組合能夠形成更多樣化的功能,例如:

關鍵字 替換後的內容 觸發符號 說明
::’y:: http://tw.yahoo.com/{Enter} 空白 輸入’y會輸出網址與〔Enter〕鍵
::/g:: @gmail.com{Home} 空白 輸入/g會輸出電子郵件並將游標移到開頭位置(如同按下〔Home〕鍵)
::’img:: {Left 2} 空白 輸入’img替換成標籤,且將游標移到雙引號裡面,但因為AutoHotkey預設會把觸發符號也輸出,造成游標左移到雙引號裡後又多輸出當做觸發符號的空白

AutoHotkey熱字串的替換依據不同的需求會有不同的選項,使用者能很方便地設置不同的功能;熱字串選項是寫在開頭兩個冒號中間,格式是「:選項:」,舉幾個例子說明常用的選項:

關鍵字 替換後的內容 觸發符號 說明
:O:’img:: {left 2} 空白 必須按觸發符號以替換文字,但不輸出觸發符號;只要把開頭的兩個冒號改成:O:即可。O是Omit(忽略)的意思,用來忽略觸發符號
:*:@g:: test@gmail.com :*:表示不需要觸發符號,鍵入@和g兩個字元後,立刻替換內容
:B0:::

(B零)

{Left 7} 空白 AutoHotkey預設會把關鍵字刪掉(即觸發後自動執行倒退以刪掉關鍵字),此倒退功能可以使用:B0:選項將之取消,如此關鍵字在替換後仍會保留下來,再附加替換後內容。

輸出結果:|(|是游標位置),游標前會多出做為觸發符號的一個空白

:*B0::: {Left 7} 再多加一個星號就能不使用觸發符號,因而不會有上列多出一個空白的問題輸出結果:|(|是游標位置)

熱字串使用多列文字的方法

上面的例子每個關鍵字只能替換一列文字,若想輸出多列文字應該要如何設定呢?其實AutoHotkey提供了簡單的語法來達成這個功能:只要用各佔一列的左右括號把多列文字夾起來就可以了。

::long1::
(
  Dear xxx,
  Best regards,
  Your Name
)

AutoHotkey的熱鍵設定方式

熱鍵的設定也是很容易就能輕鬆完成,格式是「熱鍵::執行的指令」,熱鍵和要執行的指令間夾有兩個半形冒號。熱鍵有許多按鍵組合,以下是幾個特殊的按鍵符號:

按鍵符號 代表的按鍵與說明
^ 〔Ctrl〕鍵
! 〔Alt〕鍵
+ 〔Shift〕鍵
# 〔Win〕鍵
& 用&符號把兩個按鍵或按鈕組合成為一個鍵,例如:LButton
& a表示按左鈕不放,同時再按〔a〕鍵
~ 加~符號表示抑制該按鍵,使用在當我們想要把某個按鍵變更成另一個內容的場合。例如:

;; 抑制原來的〔a〕鍵,〔a〕鍵替換成BBB
~a::Send BBB
;; 按〔a〕鍵輸出aBBB,比加了~的設定多輸出按下的按鍵
a::Send BBB

指定好熱鍵後,再接兩個半形冒號,再用預設的命令讓AutoHotkey執行特定任務,用範例說明:

熱鍵設定 指令說明
#n::Run notepad 按〔Win+N〕鍵執行記事本程式(Notepad.exe)Run命令表示執行後面指定的程式
^!F::run c:\program files\mozilla firefox2\firefox.exe 按〔Ctrl+Alt+F〕鍵執行FireFox
~RButton::MsgBox 按了右鍵 按右鍵顯示「按了右鍵」對話窗,若在記事本裡操作,則原本的右鍵功能表會被「按了右鍵」對話窗取代了。
MsgBox是Message Box的意思,彈出顯示訊息對話窗
RButton::MsgBox 按了右鍵 彈出【按了右鍵】對話窗後繼續顯示記事本的右鍵功能表
~MButton & a::Send 送出訊息 按滑鼠中鈕(兩個按鈕的滑鼠,中鈕就是滾輪)後用MsgBox函數顯示對話窗

多列式的熱字串是用括號夾住文字,同樣地熱鍵也能執行多列命令:每個命令必須各佔一行,開頭的空白內縮只是為了閱讀便利而已,沒有空白或空白的數目多寡皆不會影響命令的執行,最後必須以return結束:

; 一個〔Ctrl+Alt+F〕按鍵先後啟動FireFox和記事本
^!F::
  Run c:\program files\mozilla firefox2\firefox.exe
  Run c:\Wndows\notepad.exe
  return

設定好並重新載入後試一下是否成功了呢?咦?好像不行...很有可能是你電腦的系統目錄和範例裡的位置不同,比如作業系統的系統資料可能是C:\Windows或C:\WINNT或安裝系統時自行指定的資料夾名稱,因此若想讓一個指令適用多個作業環境的話,就必須使用內建變數來替代固定的資料夾名稱,以下是幾個你可能會使用到的與資料夾相關的內建變數:

內建變數 用途 範例
A_WinDir Windows系統資料夾 C:\Windows或C:\WINNT
A_ProgramFiles 程式集資料夾名稱 C:\Program Files
A_AppData 使用者個人資料夾 C:\Documents and Settings\使用者\Application Data
A_Desktop 使用者桌面資料夾 C:\Documents and Settings\使用者\桌面

知道變數後再回頭修改指令,在使用變數時其前後要夾上百分號%。當然了,如果你的環境是固定的,直接寫成固定資料夾也不會有問題,反而還更快速呢。下面是使用通用方式的寫法:

; 一個〔Ctrl+Alt+F〕按鍵先後啟動FireFox和記事本
^!F::
  Run %A_ProgramFiles%\mozilla firefox2\firefox.exe
  Run %A_WinDir%\notepad.exe
  return

還有幾個和系統相關的內建變數,可以方便取出這些資訊:

內建變數 用途 範例
A_YYYY

傳回系統日期年度

::'d::
  d = %A_YYYY%/%A_MM%/%A_DD%
  Send %d%
  return
A_MM 傳回系統日期月份
A_DD 傳回系統日期日期
A_Hour 傳回系統時間小時
::'t::
  t = %A_Hour%:%A_Min%:%A_Sec%
  Send %t%
  return
A_Min 傳回系統時間分鐘
A_Sec 傳回系統時間秒數
Clipboard 剪貼簿內容 可以取用也可設值,在後面會有使用範例

接著我列出幾個我常用的按鍵設定當做大家使用的啟始參考範例:

  ; 按Win+G送出@gmail.com字串
  #g::Send @gmail.com
  ; 按〔Win+H〕送出@hotmail.com字串
  #h::Send @hotmail.com
  ; 按〔Win+2〕送出公司的電子信箱。用2的原因是因為2和@是同一個按鍵,方便記憶
  #2::Send @your_mail_address.com.tw
  ; 按〔Win+O〕開啟OpenOffice Writer
  #o::Run %A_ProgramFiles%OpenOffice.org 2.4\programs\writer.exe
  ; 按〔Win+B〕啟動預設瀏覽器並載入指定網址
  #b::Run http://www.google.com.tw
  ; 按〔Ctrl+Alt+C〕開啟控制台視窗
  ^!c::Run %A_WinDir%\System32\control.exe
  ; 按左鈕不放再按〔e〕啟動記事本以編輯AutoHotkey腳本檔
  ~LButton &e::Run %A_WinDir%notepad.exe C:\Program Files\AutoHotkey\test.ahk
  ; 按左鈕不放再按〔r〕以重新載入(reload)腳本檔,使修改過的內容能啟用
  ~LButton &r::
    reload
    return

AutoHotkey的中文運用

慘了,熱字串沒辦法輸出文字!?很可惜AutoHotkey對於Unicode的支援相當薄弱,造成熱字串沒有辦法直接輸出中文,幸好我們可以透過剪貼簿解決這個中文問題。以下範例是輸入’addr與觸發符號後替換成地址的指令。
我們可以用下列的熱鍵設定來方便輸入中文的標點符號。Word也有提供把特殊符號指定給按鍵的作法,但只能在Word裡使用,如果用AutoHotkey設置,那麼不管你操作的是那一種程式,統統都能適用。

:: 'addr::
  current_clipboard = %Clipboard% ; 先把剪貼簿目前內容存入current_clipboard變數
  Clipboard = 台北市中山區民生東路二段141號B1 ; 將電腦人公司的地址存入剪貼簿
  Send ^v
  ;; 用「Ctrl+V」執行貼上剪貼簿內容
  Clipboard = %current_clipboard% ; 再把剪貼簿還原回原本的內容
  return

; 按〔Ctrl+點〕送出句點
^.::
  Clipboard = 。 ; 把句點存入剪貼簿     
  Send ^v
  ; 送出〔Ctrl+V〕貼上句點
  return

; 按〔Ctrl+半形逗點〕送出全形逗點
^,::
  Clipboard = ,
  Send ^v
  return
  ; 按〔Ctrl+單引號〕送出頓點

^'::
  Clipboard = 、
  Send ^v
  return

; 按〔Alt+分號〕送出全形分號
!;::
  Clipboard = ;
  Send ^v
  return

; 按〔Alt+1〕送出左箭頭
!1::
  Clipboard = ←
  Send ^v
  return

; 按〔Alt+1〕送出右箭頭
!2::
  Clipboard = →
  Send ^v
  return

接著我們再設置幾個中文括號,先把要放在括號裡的文字選取好,再按指定的按鍵就能把被選取文字夾在括號裡。由於這些按鍵的處理指令大同小異,只有括號的符號不同而已,因此我們可以把指令集中到一個函數(send_bracket)裡。

![::
  current_clipboard = %Clipboard% ; 把原有剪貼簿內容存起來   
  Clipboard = ; 把剪貼簿清空
  Send,
  ^c ; 把選取文字複製到剪貼簿
  ClipWait,1 ; 等待剪貼簿儲存動作完成
  clipboard = 「%clipboard%」
  ; 在剪貼簿前後加上全形括號
  Send,
  ^v{left} ; 貼上加了括號後的剪貼簿內容
  Clipboard = %current_clipboard% ; 剪貼簿還原回原來內容
  return

^[::
  send_bracket("「", "」")
  return

#[::
  send_bracket("〔","〕")
  return

^]::
  send_bracket(“『“,”』“)
  return

^![::
  send_bracket("【","】")
  return

^!]::
  send_bracket(“《“,”》“)
  return

send_bracket(start,end) {
  current_clipboard = %Clipboard%
  Clipboard =
  Send, ^c
  ClipWait,1
  clipboard = %start%%clipboard%%end%
  Send ^v{left}
  Clipboard = %current_clipboard%
  return
}

AutoHotkey的綜合運用:標示字串與搜尋

當我們在某份文件或某網頁上看到某個詞句想要用搜尋引擎來查詢時,大致會有下列四個步驟:

  1. 把該詞句存入剪貼簿
  2. 開啟搜尋引擎網站
  3. 貼上剪貼簿裡的詞句
  4. 按搜尋

如果透過AutoHotkey我們可以把動作簡化成兩個步驟:

  1. 選取要搜尋的詞句
  2. 按自訂的一個按鍵,例如〔Alt+G〕
; 選取文字後按〔Alt+G〕執行Google搜尋
!g::
  current_clipboard = %Clipboard% ; 把目前的剪貼簿內容存起來供後面還原
  Clipboard = ; 先把剪貼簿清空
  Send ^c
  ; 把選取字串用〔Ctrl+C〕存入剪貼簿
  ClipWait, 1 ; 等待1秒讓剪貼簿執行存入動作
  ; 下行使用Google執行搜尋動作,要搜尋的字串就是剪貼簿內容
  Run http://www.google.com.tw/search?hl=zh-TW&q=%Clipboard%
  Clipboard = %current_clipboard% ; 還原先前的剪貼簿內容
  return

; 選取文字後按〔Alt+Y〕執行Yahoo!搜尋
!y::
  current_clipboard = %Clipboard%
  Send ^c
  ClipWait, 1
  Run http://tw.search.yahoo.com/search?ei=UTF-8&p=%Clipboard%
  Clipboard = %current_clipboard%
  return

; 選取文字後按〔Alt+L〕執行微軟Live Search搜尋
!l::
  current_clipboard = %Clipboard%
  Send ^c
  ClipWait, 1
  Run http://search.live.com/results.aspx?mkt=zh-tw&q=%Clipboard%
  Clipboard = %current_clipboard%
  return

提升效率的好幫手

在簡要的介紹AutoHotkey的熱鍵與熱字串功能後,你是否也認為它確實能為你的電腦生活帶來更好的效率呢?必須額外付出的學習成本事實上也是相當低
廉的,為了更快速、更便捷的電腦生活,AutoHotkey是極佳的自我投資。

本文僅是基礎的入門介紹,以下列出幾個網站供想要更上層樓的讀者們參考:

AutoHotkey參考網站

本文摘錄自《Download!網路密技王》第三期

##

您可能也會有興趣的類似文章

36 則留言 »輕鬆學會彈指神功-揭露AutoHotkey絕技

  • ttbee Unknow Unknow

    感謝版主分享!請問一下為何我安裝之後雙擊 *.ahk 檔或是執行 autohotkey.exe 在我的工作列裡都不會有任何反應呢?

  • 簡睿 Unknow Unknow

    .ahk檔案型未和AuthHotkey.exe設定好嗎?先移除再重新安裝看看? Windows版本呢? Windows 2000以後的版本應該都OK.

  • linjy Unknow Unknow

    這種軟體我找好久了,autohotkey 真的太好用了,windows 為什麼沒有內建自訂快速鍵的功能呢?

  • SKYERICHK Windows XP Internet Explorer 7.0

    終於解決了我在工作上的困境,正在享受中帶來的快感,現在學習怎樣輸出中文,因為不明白當中的解析詞彙,可能大家都有不同方言,不要緊,最後還是要………….謝謝!!

  • Yolanda Windows 2000 Firefox 3.0.11

    您好~想請問Aatohotkey可以控制Delphi寫的Application嗎?
    我實驗的方法是先於Delphi設定KeyDown事件的Key和對應的行為,再由autohotkey送出hotkey控制,但卻一直沒反應!
    不曉得是作法錯誤了呢?還是Autohotkey沒有辦法正確的送出hotkey讓Form對應到keydown事件?
    麻煩高手相助。謝謝

    • 簡睿 Windows Vista Firefox 3.5.1

      用WinGetTitle取到你程式的名稱,再判斷按鈕,範例如下:
      f9::
      WinGetTitle, sTitle, A
      ;; 用sTitle判斷作用中的程式名
      sProgram := getProgram(sTitle)
      ;MsgBox %sProgram%
      if (sProgram = "MSDE")
      Send {F5}
      return

  • Tom Windows XP Internet Explorer 7.0

    您好:
    想請問我們單位目前有一支VB6的寄信程式(藉mapi 發信),但現在發信通知其他人收薪水時,都會被outlook的安全提示擋住,使用者得座在電腦前不停的按「 確定」提示。不知autohotkey有辦法替代使用者按掉安全提示嗎?
    謝謝!

  • ALAN Windows XP Firefox 3.5.8

    目前都看到可以開啟程式有沒有可以設定關閉程式的方法

  • ALAN Windows XP Firefox 3.5.8

    那有可以設定快速啟動AutoHOTKey的設定方法嗎
    因為玩遊戲會影響中文輸入

  • ANDY Windows other version Firefox 3.6

    你好小弟 對這程式 真的看不懂..囧

    我想請問一下..

    我要設定

    數字鍵+加上字母 的組合改怎麼設定 可以加上秒數嗎@@

    設成案一鍵 就執行 數字鍵+加上字母 的功用

    比如
    1 rws 2rws 3rws 4rws 5rws 6rws 數字鍵 要遲緩 1到2秒 之間
    和 alt+1 rws alt+2 rws alt+3 rts alt+4 rws 之類的@@

    • 簡睿: Windows other version Firefox 3.6

      Sleep指令請參考:http://www.autohotkey.com/docs/commands/Sleep.htm

      需求大致如下,把內容貼到 隨你命名.ahk 後按F12執行:

      f12::
      send 1
      sleep 1000
      send rws
      send 2
      sleep 1000
      send rws
      send 3
      sleep 1000
      send rws
      send 4
      sleep 1000
      send rws
      send 5
      sleep 1000
      send rws
      send 6
      sleep 1000
      send rws
      return

  • 豬 Windows XP Firefox 3.6.8

    想請問一下如果一個 ahk 想同時執行兩種以上指令要如何做區隔?
    另外想按p變成 方向鍵連按+X的效果如何設 是
    ~p::
    Send {Right 2}&x 如此嗎?..都弄不出來..謝謝大大囉

  • 簡睿 Windows other version Firefox 3.6.8

    兩個按鍵一起按:
    ~LButton & e::
    Run c:\program files\EmEditor\emeditor.exe c:\doc\jerry\autohotkey.ahk
    return

    另一個可能可以這樣(沒有測試,請自行測試):
    ~p::
    Send {Right 2}
    Send x
    return

  • 殘夢 Windows Vista Firefox 3.6.10

    簡睿大哥你好
    小弟研究了一下 實在有點一頭霧水@@
    能否方便請教一下
    例如我是想要T鍵反覆持續點擊間隔2秒是不是下面這樣?
    f12::
    send T
    sleep, 2000
    return
    不過我寫了之後發現按F12只能點擊一次@@
    我原本的設定是想以F12開啟下面的迴圈 可是怎麼設定都不行ˊˋ
    能否解決我這個問題?

    • 簡睿 Windows other version Firefox 3.6.10

      迴圈可以用loop, 例如:
      Loop 3
      {
      Run C:\Check Server Status.exe
      Sleep 60000 ; Wait 60 seconds.
      }

      請自行參考http://www.autohotkey.com/docs/Tutorial.htm

  • 殘夢 Windows XP Internet Explorer 7.0

    簡大哥你好
    感謝你的解答 現在我已經可以使用單迴圈了
    現在有個問題想在請教你
    如果我現在有2個迴圈想要連再一起使用 並且使用同一個熱鍵啟用
    例如迴圈A
    $Up::
    Loop
    {
    if not GetKeyState("Up", "P")
    break
    Send {a}
    Sleep 1000
    }
    與迴圈B
    $Up::
    Loop
    {
    if not GetKeyState("Up", "P")
    break
    Send {b}
    Sleep 5000
    }
    我想要每1秒打出A 每5秒打出B 可是 我試過 如果寫在一起 反而是變成A(停1秒)接著B(停5秒)重複著A(停1秒)接著B(停5秒)
    跟我原本的AAAAABAAAAABAAAAAB這樣的想法就不同了
    請問我該如何解決??

  • 原來可以變的這麼方便喔!!?
    這樣以後在工作上又應該可以更快速囉~
    謝謝您這麼詳細的介紹喔~^^

  • wasd14 Windows other version Google Chrome 7.0.517.44

    簡大哥你好,我想用AutoScriptWriter錄下我操作的過程,可是我按下record之後,好像有些沒錄下來,我想錄的有反白、點擊、拖放還有按鍵盤的動作,不知道該怎麼解決呢?還是說有什麼別的軟體也能錄呢?
    (因為有點急用,所以還沒去看說明檔>"<)

  • wind Windows XP Firefox 3.6.13

    F12::
    loop {
    MouseClick, left, 871, 402
    MouseClick, left, 871, 402
    }
    return

    我想問以上是 按鍵盤F12讓滑鼠左鍵表示座標871,402按兩次無限迴圈,
    那如果我想把這個迴圈再按鍵盤上F3一次,就能讓此迴圈停止,
    該如何寫??

  • 半糖 Windows other version Internet Explorer 8.0

    哈囉!我上次瀏覽過這網頁後也實地練習使用HOTKEY程式,他帶給我相當的便利,可否方便我將貴網站網址做一個連結放在我的網站上嗎?我想介紹其他人認識這個網站!

  • nk Windows other version Firefox 4.0

    站長你好,小弟用autohotkey寫了支firefox bosskey
    但,當隱藏完視窗後,卻沒辦法再次恢復視窗,有勞站長指點,謝謝
    程式碼如下:
    #z::
    IfWinExist, ahk_class MozillaWindowClass
    {
    WinHide, ahk_class MozillaWindowClass
    TrayTip, Bosskey, Hide, 1, 1
    return
    }

    #x::
    ;DetectHiddenWindows, On
    WinShow, ahk_class MozillaWindowClass
    TrayTip, Bosskey, Show, 1, 1
    return

    • 簡睿 Windows other version Firefox 4.0

      我改用IE 8的class測試正常耶…

      #z::
      WinHide ahk_class IEFrame
      return

      #x::
      DetectHiddenWindows, on
      WinShow ahk_class IEFrame
      return

      Firefox目前是有firefox.exe與plugin-container.exe兩個process,不知是否因為如此而影響了WinShow。
      用Autohotkey bosskey Google一下,有佷多類似的script,請自行測試看看。

  • hanbang Windows XP TheWorld based on IE 7.0

    想问一下简兄:在同一个脚本中,如何给不同的热字串指定不同的触发符号。因为帮助讲“#Hotstring EndChars”对整个脚本是全局生效的。盼复。

  • JaDrFyUi Windows XP Google Chrome 15.0.874.121

    請問一下,這能不能自動按m鍵?
    因為我看到的都是出現一些文字,不然就是自動按方向鍵那種特殊鍵。

  • [...] (作者: yoken) 3. AutoHotkey 0级入门教程:让重复工作一键完成 (作者: xbeta) 4. 輕鬆學會彈指神功-揭露AutoHotkey絕技 5. 小众快餐店系列教程 (作者: sfufoet) 6. 小鸟学AHK系列教程 (作者: wildtoy) 7. [...]

填寫回應

 

 

 

您可使用這些HTML標籤

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

隨機文章

  1. [Tools] 快速動程式的工具:Launchy (3)
  2. Apple無線鍵盤常用按鍵速查表(for iPad) (5)
  3. 如何在iPad Safari裡使用Bookmarklet以方便推文操作? (1)
  4. 關閉所有視窗的小工具:CloseAll.exe (2)
  5. 把FTP網站變成虛擬磁碟機的工具:NetDrive 
  6. 快速切換資料夾之台灣之光:Folder Menu 
  7. [Tools] NirCmd: 免費控制Windows的命令列指令 
  8. AutoHotkey的專屬論壇 (3)
  9. [Tools] 軟體KVM (15)
  10. [QNAP NAS] 使用新版的pyLoad讓NAS成為免空下載利器 

歷史熱門文章

  1. 如何手動輸入Plurk的表情圖示? (352,041 點擊/2008-09-29)
  2. 簡單放大Plurk輸入區的方法[修訂] (86,779 點擊/2008-09-29)
  3. Plurk CSS樣式自訂修改全攻略 (82,772 點擊/2009-07-04)
  4. 啟用&關閉中華電信ZyXEL P874的無線網路連線功能的步驟[修訂] (82,425 點擊/2011-06-01)
  5. 網路升級光世代50M/3M與設定ZyXEL P874 (52,423 點擊/2011-05-28)
  6. 輕鬆學會彈指神功-揭露AutoHotkey絕技 (42,817 點擊/2008-04-10)
  7. iPad新手入門技巧 (39,997 點擊/2011-02-05)
  8. 分享世博台灣館主題曲『台灣的心跳聲』MV(附歌詞+下載連結+新歌詞) (38,040 點擊/2010-04-27)
  9. 把HTC Touch HD操作介面換成Spb Mobile Shell,美觀又便利! (37,864 點擊/2009-02-18)
  10. 另一套適用手機的影片轉檔工具:WinAVI 3GP/MP4/PSP/iPod Video Converter (35,797 點擊/2009-04-18)