前几天玩了下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");上传按钮事件