Au3Record完全教學 (AUTOIT)

Au3Record完全教學 (AUTOIT)

2017/10/8 補充說明 

Au3Record 這個工具 似乎因為有些防毒軟體會誤判為病毒
所以現在官網版本下載的版本 本沒有附在裡面
最後一版有含Au3Record的版本是v3.3.14.0

可至舊版本區下載

autoit-v3.3.14.0.zip 或 autoit-v3.3.14.0-setup.exe

在此目錄下可找到 C:\Program Files (x86)\AutoIt3\Extras\Au3Record 



因為在v.3.3.14.0之後的版本 就沒放Au3Record了
所以首先下載autoit-v3.3.14.0-setup.exe 這個版本

本文使用的版本是 AutoIt v3.3.6.1,安裝過程中遇到下圖的選項

這個選項是問預設碰到.au3檔案要開啟還是編輯,要選下面的 edit the script,以後就會預設用SciTE開啟,才不會自動執行,
之後打開SciTE Script Editor (C:\Program Files\AutoIt3\SciTE\SciTE.exe)

然後先看以下這篇文章
讓 SciTE4AutoIt3(SciTE) 編輯器支援中文及界面中文化
或是用我改好的檔案 按此下載

locale.properties放在C:\Program Files\AutoIt3\SciTE 
SciTEUser.properties放在C:\Documents and Settings\Administrator
然後將這個檔案 傳送到桌面當作捷徑
C:\Program Files\AutoIt3\Extras\Au3Record\Au3Record.exe
Au3Record是AutoitV3的錄製精靈
可以將我們用滑鼠跟鍵盤做過的動作自動轉換為程式碼

執行Au3Record,點擊紅框部分開始錄製

流程是先點Go,接著無論有沒有怪都要逃跑,因為我的目的是只是遇怪就逃跑,被打就算了,只要再重按一次鐵人大富翁 怪就不會再次出現了

然後點擊左上的 Click To Stop得到以下的code
_WinWaitActivate(":::2010第三屆IT邦幫忙鐵人賽::: - Mozilla Firefox","")
MouseMove(1272,651)
MouseDown("left")
MouseMove(1271,651)
MouseUp("left")
MouseClick("left",825,843,1)
MouseClick("left",893,286,1)

稍微修改一下,加上迴圈及延遲函數sleep(),延遲可視網路速度自行修改,以下
Opt("WinWaitDelay",100)
Opt("WinTitleMatchMode",4)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",0)
WinWait(":::2010第三屆IT邦幫忙鐵人賽::: - Mozilla Firefox","")
If Not WinActive(":::2010第三屆IT邦幫忙鐵人賽::: - Mozilla Firefox","") Then WinActivate(":::2010第三屆IT邦幫忙鐵人賽::: - Mozilla Firefox","")
WinWaitActive(":::2010第三屆IT邦幫忙鐵人賽::: - Mozilla Firefox","")
for $i=1 to 999999999999999 ;加上迴圈
sleep(1000)
MouseMove(1272,651)
MouseDown("left")
MouseMove(1271,651)
MouseUp("left")
sleep(500)
MouseClick("left",825,843,1)
MouseClick("left",893,286,1)
sleep(1000)
next

3.加上離開熱鍵,code只要改成以下即可,如果不加的話只能
在Scite中按Ctrl+break中斷 或 在右下角圖示的地方按右鍵才能中止程式


HotKeySet("{ESC}", "_exit");設定離開熱鍵ESC
Opt("WinWaitDelay",100)
Opt("WinTitleMatchMode",4)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",0)
WinWait(":::2010第三屆IT邦幫忙鐵人賽::: - Mozilla Firefox","")
If Not WinActive(":::2010第三屆IT邦幫忙鐵人賽::: - Mozilla Firefox","") Then WinActivate(":::2010第三屆IT邦幫忙鐵人賽::: - Mozilla Firefox","")
WinWaitActive(":::2010第三屆IT邦幫忙鐵人賽::: - Mozilla Firefox","")
for $i=1 to 999999999999999 ;加上迴圈
sleep(1000)
MouseMove(1272,651)
MouseDown("left")
MouseMove(1271,651)
MouseUp("left")
sleep(500)
MouseClick("left",825,843,1)
MouseClick("left",893,286,1)
sleep(1000)
next
Func _exit()
    Exit 0
EndFunc
在scite執行的話熱鍵是F5,如果常使用的話就編譯 成.exe執行檔吧
熱鍵是Ctrl+F7,如果語法沒錯誤的話,應該都能編譯成功

 


如有錯誤 歡迎指正