autoit的问题

autoit的问题,第1张

帮助文档里明确讲了,Run()这个函数只能用来直接运行 EXE, BAT, COM, or PIF 类型的文件。

试试下面几种方法吧(当然第一种方法最简洁,推荐):

1)ShellExecute(@ScriptDir &"\a\MSN.2008.8.5.msi")

2)Run(@ComSpec &" /c " &"start " &@ScriptDir &"\a\MSN.2008.8.5.msi", "", @SW_HIDE)

3)#include <Process.au3>

$rc = _RunDos("start " &@ScriptDir &"\a\MSN.2008.8.5.msi")

另外,每个语句最后都不需要分号,分号后面只是用来加注释用的。

个人认为注释已经比较详细了。下面仅解释主要部分和上面没说明的语句:

定义一个要运行的程序11_12_30pokercity-vt1.0.0.89.exe

$Exe = '11_12_30pokercity-vt1.0.0.89.exe'

先检查下,如果当前已经在运行,则结束它

If ProcessExists($Exe) Then ProcessClose($Exe)

如果用Run方法运行该程序失败,则换用ShellExecute运行

If Run($Exe) = 0 Then ShellExecute($Exe)

这是个循环,一直等待直到标题为 '波克城市 1.0.0.89 安装' 的窗口出现。

Do

Sleep(10)

Until WinExists($Wintitle_1)

等待'波克城市 1.0.0.89 安装' 窗口上的'下一步(&N) >' 按钮可用

WinWaitActive($Wintitle_1, $Wintxt_1)

ControlClick($Wintitle_1, $Wintxt_1, "Button2")---------------点击按钮控件: 下一步(&N) >

等待'波克城市 1.0.0.89 安装 ' 窗口(注意:这个窗口标题后面有个空格)上的'<上一步(&B)'按钮可用

WinWaitActive($Wintitle_2, $Wintxt_2)

ControlClick($Wintitle_2, $Wintxt_2, "Button2")---------------点击按钮控件: 安装(&I)

等待'波克城市 1.0.0.89 安装 ' 窗口上的'安装(&I)'按钮可用

WinWaitActive($Wintitle_2, $Wintxt_3)

ControlClick($Wintitle_2, $Wintxt_3, "Button2")---------------点击按钮控件: 安装(&I)

等待'波克城市 1.0.0.89 安装 ' 窗口上的 '完成(&F)' 按钮可用

WinWaitActive($Wintitle_2, $Wintxt_4)

ControlClick($Wintitle_2, $Wintxt_4, "Button4")---------------点击按钮控件: 运行波克城市

等待'波克城市 1.0.0.89 安装 ' 窗口上的 '是(&Y)' 按钮可用

WinWaitActive($Wintitle_1, $Wintxt_5)

ControlClick($Wintitle_1, $Wintxt_5, "Button2")---------------点击按钮控件: 否(&N)

我提供一点自己的经验:

1.这两句代码是正如其中的英文单词所表达的,是Koda GUI的代码片段。

Koda GUI 是 autoit 脚本语言中,辅助生成界面的工具软件。每个由 Koda GUI生成的界面脚本代码段都会由类似的字符串组成。

#Region ### START Koda GUI section ### Form=E:\myoutput\5\大胃王.kxf

这句代码,首先 #Region ### START Koda GUI section 标识出,这是Koda GUI界面代码段的开始,Form=E:\myoutput\5\大胃王.kxf 这个指出这段代码段是由哪个界面文件(*.kxf文件,是Koda GUI工具软件保存的文件类型)所生成的。

#EndRegion ### END Koda GUI section ###

这句代码,也就是标识 Koda GUI生成的界面脚本代码段的结束。

2. 然后我尝试把这2行语言删除,发现对运行结果貌似也没什么影响?

对运行结果确实没有什么影响,但这两句代码是有它自己的作用的。

如果你尝试用过 Koda GUI 工具,生成界面脚本代码,那么,你就会对此有所了解。

在界面的设计过程中,可能要经常调整、新增或删除某些界面元素,比如某个按钮等,那么,在原有基础上进行修改,肯定要比新建一个要省事的多。

通常是打开上次编写的界面设计文件,比如,E:\myoutput\5\大胃王.kxf 这个文件,打开进行修改之后,要对原来的界面代码进行更新(而不是新的插入),那么,上面两句代码的作用就体现出来了。

有了这两句代码,你新做的修改 Koda GUI 就会准确的将原来旧的内容覆盖,而不会影响你其他的autoit脚本。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11569895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存