hfsango1 发表于 2008-6-21 17:50:32

无语了,来看看睁眼说瞎话的AU3

我使用的版本是3.2.12.0.1的汉化版,今天用AU3来写“微点主动防御软件”的自安装脚本,卡在了第三步上,三步中哪一步都不是一次成功的,真的是一步一个坎儿。。。

第一步:我在脚本中写入运行微点的命令后,直接输入一行“WINWAITACTIVE”就输入了执行下一步的命令,结果试运行脚本后没反应,试了几次后发现微点的安装窗口需要手动激活,于是改用“WINWAIT”、“WINACTIVATE”激活窗口,这一步还好,没费太大劲儿。(该死的微点,窗口在活动与非活动时的样式完全一样)

第二步:仍是用“Winwaitactive”,然后用“Controlclick”输入从“AU3窗口信息工具”中得到的相应按键——BUTTON3,仍是没反应。我按第一步的更改尝试了一下,也试过了很多其它方法,依旧不行。没理由的啊?我认真检查了上面输入的内容,没有任何问题。也算是病急乱投医吧,我无视 窗口信息工具 中得出的判断,将 BUTTON3 改成了 BUTTON4,没想到就是这样一改,竟然成功到了下一步!!!狂汗啊……

第三步:这个我真的无语了,按照窗口信息工具中的提示,我填写按键为 BUTTON 5,结果竟然出现 是否结束安装程序 的画面,赫,难道AU3又分析错了?这次我从BUTTON1一直试到BUTTON10……无语了,每一个都不是与“同意”的选项正确对应的那一个,总是事与愿违,出现其它效果(原始的安装程序手动操作没有问题)……至此,我真的是黔驴技穷了……


    三步断肠……初学AU3的俺,早就听说过这东西有些难度,但万万没料到这么举步维艰!!!而且AU3的按键识别失误,是AU3的不成熟呢,还是微点的不兼容?以上情况属实,等待高手测试。(我认为通过坐标控制点击的方法或许能解决这个问题,有些人说这样会受到分辨率和人为拖动的影响,因此不够准确,但谁又能想到controlclick会出现这么大的失误呢?在一些地方找通过坐标发动鼠标点击的公式,很遗憾没找到,一律的理由都是说这样不准确,不如用controlclick。算啦,还是自己多学点,同时等高手解答吧)

[ 本帖最后由 hfsango1 于 2008-6-21 17:54 编辑 ]

bing614 发表于 2008-6-21 19:06:40

我试了下 微点主动防御软件 安装程序 的控件ID是会变的,这个比较难弄。

hfsango1 发表于 2008-6-21 21:05:00

感谢LS朋友的尝试~现在我一见到安装界面很奇怪的程序心里就沉一下,因为这些程序的自动安装往往很难做,诸如 微点、REALPLAYER,还有一些版本的FOXIT READER

sanhen 发表于 2008-6-21 22:04:37

AU3并不是万能的自动安装脚本。。。

kakinkgb 发表于 2008-6-21 22:34:11

controlID可以是很多种的:
ID - The internal control ID. The Control ID is the internal numeric identifier that windows gives to each control. It is generally the best method of identifying controls. In addition to the AutoIt Window Info Tool, other applications such as screenreaders for the blind and Microsoft tools/APIs may allow you to get this Control ID
TEXT - The text on a control, for example "&Next" on a button (这种可以吧?)
CLASS - The internal control classname such as "Edit" or "Button"
CLASSNN - The ClassnameNN value as used in previous versions of AutoIt, such as "Edit1"
REGEXPCLASS - Control classname using a regular expression
X \ Y \ W \ H - The position and size of a control. (这种也可以吧?)
INSTANCE - The 1-based instance when all given properties match.
ControlClick麻烦,我最喜欢用send:face (33):

rho123 发表于 2008-6-25 10:42:08

为什么一定要拿控件ID 来匹配了???

gooker 发表于 2008-6-25 11:13:15

查找一下控件文字为"同意"的 然后再点
这种问题不是au3的错哦,是lz的问题

bing614 发表于 2008-6-25 11:32:12

呵呵,学到东西了,原来还能这样
$Windows="微点主动防御软件    安装程序"
Run($T)
WinWait($Windows,"")
ControlClick($Windows, "", "","left")

顽固不化 发表于 2008-6-25 12:54:21

原帖由 kakinkgb 于 2008-6-21 22:34 发表 http://www.autoitx.com/images/common/back.gif
controlID可以是很多种的:
ID - The internal control ID. The Control ID is the internal numeric identifier that windows gives to each control. It is generally the best method of identifying controls. I ...

确实能解决楼主的问题。我也学到了,感谢!
run("微点安装.exe")
$hd="微点主动防御软件    安装程序"
WinWaitActive($hd,"语言选择")
ControlClick($hd,"语言选择","","left")
WinWaitActive($hd,"欢迎使用")
ControlClick($hd,"欢迎使用","","left")
WinWaitActive($hd,"许可证协议")
ControlClick($hd, "许可证协议", "","left")
controlClick($hd, "许可证协议", "","left")
...............

xiaoye2008 发表于 2008-6-25 14:48:01

既然控件ID会变,那么可以每次执行这个程序都去找控件ID,这样不就好了。

lynfr8 发表于 2009-3-6 00:23:04

老兄,能否放出整个微点的脚本啊,我也卡在第三步了
run("微点mp.exe")
$hd="微点主动防御软件 安装程序"
WinWaitActive($hd,"语言选择")
ControlClick($hd,"语言选择","","left")
WinWaitActive($hd,"欢迎使用")
ControlClick($hd,"欢迎使用","","left")
WinWaitActive($hd,"许可证协议")
ControlClick($hd, "许可证协议", "","left")
controlClick($hd, "许可证协议", "","left")
WinWaitActive($hd,"输入您的信息。")
ControlSetText($hd, "输入您的信息。", "Edit1", "007")
ControlSetText($hd, "输入您的信息。", "Edit2", "007")
ControlSetText($hd, "输入您的信息。", "Edit3", "8A2E9Z")
ControlSetText($hd, "输入您的信息。", "Edit4", "UK8EP9")
ControlSetText($hd, "输入您的信息。", "Edit5", "WV8EJD")
ControlSetText($hd, "输入您的信息。", "Edit6", "U8LC63")


就后面输入的文本停下来了,请教~~~

liongodmien 发表于 2009-3-6 10:42:30

如果肯认真的看看帮助,而且能记住了里面的用法(虽然有时帮助也会乱),问题就会少了,办法就会多了!

永远爱你 发表于 2009-3-6 11:25:15

标题好像火爆了点...:face (13):

论坛管理员 发表于 2009-3-6 17:10:49

很多杀毒软件的控件ID名是动态的,就连QQ登录界面的都是这样,主要是防止病毒探测的。。。。

lynfr8 发表于 2009-3-6 18:08:52

原帖由 liongodmien 于 2009-3-6 10:42 发表 http://www.autoitx.com/images/common/back.gif
如果肯认真的看看帮助,而且能记住了里面的用法(虽然有时帮助也会乱),问题就会少了,办法就会多了!



我自己都很认真“研究”过帮助了,只是学识疏浅认识au又迟,万事起步难,如果哪位大侠能帮我解决微点安装脚本,我万分感激!!!!
页: [1] 2
查看完整版本: 无语了,来看看睁眼说瞎话的AU3