按鍵精靈 2014 註解 // 變數 UserVar 變數名稱=初始值 '輸入欄名稱' 或: UserVar 變數名稱=DropList{名1:值1|名2:值2}=初始索引值 '選單欄名稱' 迴圈 條件迴圈 While 條件 欲執行程式 Wend 計數迴圈 For 次數 欲執行程式 Next 條件 判斷 If 條件 Then 欲執行程式 ElseIf 條件 Then 欲執行程式 Else 欲執行程式 End If 決策 Select Case(條件) Case 值 欲執行程式 End Select 跳躍(很少用到) 使用 Rem 標記名稱 設定位置,再用 Goto 標記名稱 跳躍。 函式 程序 Sub 程序名稱 欲執行程式 End Sub 程序名稱 函數 Function 函數名稱(參數名稱,參數名稱) 欲執行程式 函數名稱 = 傳回值 End Function 函數名稱 參數,參數 其它 移動滑鼠游標 MoveTo 水平座標, 垂直座標 執行滑鼠按鍵的動作 LeftClick 次數 LeftUp 次數 LeftDown 次數 執行敲鍵盤的動作 KeyPress 按鍵碼 次數 送出字串(或者說敲一段字出來) SayString 文字 顯示訊息 MessageBox 訊息 延遲 Delay 毫秒 結束程式 EndScript 執行軟體 RunApp '執行檔' RunApp 只是呼叫程式或開啟路徑,並不是執行 DOS 指令。需要帶入 DOS 參數,或者執行的軟體出問題時,改呼叫「捷徑」,例如: RunApp '捷徑.lnk' 複製檔案 Plugin.File.CopyFile '舊檔案','新檔案' 執行插件 call 插件 範例 Tetris Friends: Battle2P 自殺程式 利用一開局就按 F5 重新整理來自殺的方式,死 23 次從 RANK 8 退級到 RANK 1。需 1366x768 螢幕解析度,且瀏覽器視窗放到最大,使用 AdBlock Plus 無廣告佔用版面。 UserVar Var1=23 While Var1>0 IfColor 520, 420, 'FF9A12', 0 Then Var1=Var1-1 MoveTo 520, 420 Delay 100 LeftClick 1 Delay 100 MoveTo 200, 425 Delay 2000 LeftClick 1 Delay 100 KeyPress 115, 1 EndIf EndWhile 拖曳 漫畫網站的 圖片 從 (900,400) 位置,將圖片拖曳到 (330,400) 位置存放,然後回到 (900,400) 位置點下一張圖片。 MoveTo 900, 400 Delay 50 LeftDown 1 Delay 50 UserVar Var1=900 While Var1>330 Var1=Var1-5 MoveTo Var1, 400 EndWhile Delay 50 LeftUp 1 MoveTo 900, 400 Delay 500 LeftClick 1 自動按 100 次 Shift + 滑鼠左鍵 KeyDown 'Shift', 1 For 100 LeftClick 1 Delay 100 Next KeyUp 'Shift', 1 各版本優缺點 語法混亂 按鍵精靈 8 引進新的 Q 語言,但感覺只是讓手動敲程式碼的人更混亂而已。例如 While 以 Wend 結尾,If 卻以 End If 結尾,感覺還不如以 EndWhile 和 EndIf 結尾還比較好記。由於按鍵精靈 8 和按鍵精靈 9 依然相容 VBScript 語法,因此我傾向繼續用舊語法~ Q 語言的好處是,許多「函式」變得更容易輸入參數,例如 KeyPress 可以接受 'F5',這樣就不用記鍵盤碼是多少。 操作介面設計不良 按鍵精靈 8 以上版本,要製作「小精靈」時,有設定介面視窗過小,無法看到全部按鈕的缺點。按鍵精靈 7 以下版本,則有編輯原始碼時,常常看不到游標的缺點。 按鍵精靈 2014 則解決了所有問題,成為目前為止最成熟、穩定、好用的版本。 帶介面的腳本 按鍵精靈 9 新增「腳本介面」功能,可以自行佈置一張視窗做為按鍵精靈的操作介面! 腳本介面的設計方式跟 Visual Basic 6 一樣,大多數高職和五專都有 VB 課程,應該不難上手。 搭配按鍵精靈自帶的「插件命令」和「我的命令庫」,能簡單呼叫 Windows 系統功能,使得按鍵精靈不再只是自動按滑鼠鍵盤的程式,而是能當一款視窗程式設計軟體了! 以《火炬之光 2》為例子,共用倉庫是以 sharedstash_v2.bin 檔案來儲存,只要用「腳本介面」拉出一堆「按鈕」,執行 Plugin.File.CopyFile 將 sharedstash_v2.bin 複製過來、複製過去的,就可以自製倉庫管理程式。