2012年1月12日 星期四

AutoHotKey note

隨手記~~
hotkeys:快捷鍵
^::ctrl
!::alt
#::win

ie:
^!n::ctrl+alt+n
#z::win+z

全域變數
global SWF_PATH = "d:\projects\flash\bin\"

字串相加,下列兩個是一樣的
Var = %SWF_PATH%index.swf
Var := SWF_PATH . "index.swf"

模擬鍵盤按下每個按鍵 delay 的時間,個人習慣設 0(預設 10ms)
SetKeyDelay, 0

模擬滑鼠在 500,400 的座標 click
click, 500, 400

模擬鍵盤送出 name \t mymail@gmail.com
Send,name{TAB}mymail@gmail.com

模擬鍵盤送出 ctrl+a
Send,^{a}

等待使用者輸入四個字
Input,MyCaptcha,V L4

模擬滑鼠移動到目前游標其 (-70, 40) 的相對位置(R),1 為移動速度,預設為 2
MouseMove,-70,40,1,R

將滑鼠移動到 (0,0) 的絕對位置(目前啟動的視窗,不是整個螢幕)
MouseMove,0,0,0

模擬按下滑鼠左鍵
MouseClick,Left,-70,40

模擬按下滑鼠右鍵
MouseClick,Right,-70,40

模擬連按兩下滑鼠左鍵, 相對座標(-70,40),移動速度 1
MouseClick,Left,-70,40,2,1,,R

跳出輸入 captcha 視窗
InputBox, myInput, Enter your captcha.

處理視窗傳回值(myInput)
if ErrorLevel
    MsgBox, CANCEL was pressed.
else
   Send,name{TAB}%myInput%
return

選取檔案,檔名存在 SelectedFile
FileSelectFile, SelectedFile, 3

複製到剪貼簿
clipboard = %SelectedFile%

取出檔名 - http://www.autohotkey.com/docs/commands/SplitPath.htm
SplitPath, clipboard, name

用 Flash 開啟檔案
Run, Flash.exe "%clipboard%"

等視窗開啟,視窗標題為 Adobe Flash CS5
WinWait Adobe Flash CS5

取得視窗
WinActivate

等視窗關閉 ,視窗標題為 Exporting SWF Movie
WinWaitClose, Exporting SWF Movie

判斷是否已開啟
IfWinExist Adobe Flash CS5

拷貝檔案(1:覆寫)
FileCopy %SWF_PATH%%swfname%, %SVN_PATH%%swfname%, 1

範列一:
; hotkey F9
F9::
SetKeyDelay, 0
; 送出Ctrl+L
Send,^l
; sleep 10ms 避免來不及放開 hotkey 而產生 bug
Sleep, 10
; 連送兩次 TAB 鍵
Send,{TAB}{TAB}
Send,name{TAB}mymail@gmail.com{TAB}
; 移動到目前游標的相對位置
MouseMove,-70,40,1,R
click
return

範列二:
F9::
SetKeyDelay, 0
; 跳到輸入 captch 的位置
MouseMove,0,0,0
MouseMove,555,684,0,R
click
; 輸入四個字自動跳到下一步
send,^{a}
Input,MyCaptcha,V L4
; 跳到輸入基本資料的位置
MouseMove,0,0,0
MouseMove,555,555,0,R
click
; 填寫基本資料
Send,name{TAB}F111111111{TAB}lala@gmail.com
MouseMove,0,195,0,R
; 送出
click
return

沒有留言:

張貼留言