找回密码
 加入
搜索
查看: 1781|回复: 1

[AU3基础] 请达人帮忙优化一个自动安装的代码。

[复制链接]
发表于 2014-3-19 11:45:00 | 显示全部楼层 |阅读模式
本帖最后由 差多 于 2014-3-19 11:47 编辑

我给我的搜狗拼音输入法(XP系统)批量安装数千个.scel格式的词库,学着用autoit写了一个代码段,如下所示,主要想解决的问题是是每安装完一个词库,桌面上都会跳出一个消息框,提示安装成功,需要键盘发出回车动作,另外,如遇到以前已经安装过相同的词库,则会跳出另外一种消息框,问是否覆盖以前的安装,这时需要键盘发出“alt+y”。我考虑用同时等待的策略,这样title和body可以取两个消息框的交集。经测试发现,只能自动完成回车确认下面左图中的消息框,右图中的则失灵,需要手动介入操作,用鼠标点击那个“是”或者键盘alt+y,不知道我错在哪里。

; 配置区
Const $pattern = "*.scel"          ; TODO: change to "*.scel"
Const $title = "搜狗拼音"          ; TODO: change to "搜狗拼音"
Const $body = ""                    ; TODO: change to ""


#include <MsgBoxConstants.au3>

Local $h = FileFindFirstFile($pattern)
If $h = -1 Then
    MsgBox($MB_SYSTEMMODAL + $MB_ICONERROR, "运行失败", "未发现匹配的可执行文件,请检查脚本")
    Exit 1
EndIf

While 1
    Local $f = FileFindNextFile($h)
    If @error Then ExitLoop
    ShellExecute($f)
    WinWaitActive($title, $body)
    Sendkeepactive("")
    Send("{Enter}")
    Send("!y")
WEnd
FileClose($h)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2014-3-20 13:38:25 | 显示全部楼层
覆盖那个是可能出来, 只要做一个判断就行了,只是出来的时机不一样而已。
在可能出来的时机就做一个判断就行了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-17 20:00 , Processed in 0.076759 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表