前幾天玩了下AUTOIT 遇到幾個棘手的小問題,可能是剛上手玩這個腳本
上傳和confirm提示原因:file浏覽事件觸發後,主線程已經暫停了,後面那句線程沒有被執行,是以調整了順序,先啟線程,再去觸發浏覽事件,結果成功了。
下面是上傳處理:
第一步:下面代碼生成 exe檔案
Dim $i = 1, $bt = "選擇要加載的檔案"
If $CmdLine[0] = 1 Then
AdlibRegister('sr')
While $i = 1
Sleep(50)
WEnd
EndIf
Func sr()
If WinActive($bt) Then
ControlSetText($bt, "", "Edit1", $CmdLine[1])
ControlClick($bt, "", "Button1")
$i = 0
EndIf
EndFunc
第二部:把生成的exe檔案放在同級目錄下,加上
Run('FileUploadHelp.exe "' & $file & '"')
file我這裡是檔案路徑
confirm 窗體提示:
比較簡單
Local $btn = _IEFormElementGetObjByName($oForm, "ctl00$ContentMain$btnLoad");擷取上傳按鈕
Run(@AutoItExe & ' /AutoIt3ExecuteLine "Local $s=''來自網頁的消息'',$a=WinWaitActive($s), $b=WinActivate($s), $c=ControlClick($s, '''', ''Button1'')"')
Local $rs=_IEAction($btn,"click");上傳按鈕事件