为什么没有人回答我的问题
1. 如何判断脚本运行时成功还是失败,说简单一些就是AutoIt脚本运行有无相关的返回值。就算是再健壮的脚本也会因为环境或者其他原因运行失败,我们不可能一直用眼睛盯着屏幕判断这个脚本的运行情况,AutoIt应该是提供了这方面的判断方法吧?首先感谢各位大侠给我的回答,但我还是希望能够得到更进一步,更确切的回答。原始问题链接如下:
http://autoitx.com/forum.php?mod=viewthread&tid=8171
2.关于foobar的自动化安装,问题如下:
-如何操作控件SysTreeWin32,我想选择Tree中的某几项,但始终不知道如何操作?
-AutoIt有无类似silence的安装方式?如果有,我应该怎么用?也许问题应该是这样,如果静默的安装软件?
-AutoIt中有无办法读取到foobar的播放列表中的信息?我后找到一个方法(ControlGetText),但这个好像并不是对所有的控件有效。
原始问题链接如下:
http://autoitx.com/forum.php?mod=viewthread&tid=8221
3. 关于Skype和Kaspersky的安装问题。这两个软件用的都是非标准的windows控件!应该如何操作这类控件让AutoIt能够完成这类软件安装的自动化。我在论坛看到有人说表态安装,有哪位大侠能给解释一下么?
原始问题链接如下:
http://autoitx.com/forum.php?mod=viewthread&tid=8260
4. 代码段如下:
Local $iPid, $sResult, $sLine
$iPid = Run(@ComSpec & "/c ipconfig C:\","",@SW_HIDE)
While True
$sLine = StdoutRead($iPid)
if @error Then ExitLoop
$sResult &= $sLine
WEnd
MsgBox(0,"",$sResult)
运行后返回的是个空白的消息框,我想得到的是ipconfig运行的返回值,请大家帮忙看看是哪里出了问题。
原始问题链接如下:
http://autoitx.com/forum.php?mod=viewthread&tid=8253&extra=page%3D1
我是一个AutoIt的初学者,碰到了很多问题。上边这些可能是非常简单或者是愚蠢的问题,但我到现在都没有解决。请大家帮帮忙吧...
谢谢了先! 以后自己顶自己的贴,还有第一贴,已经跟你说的很详细了,autoit不是万能的,楼主在这样发帖,扣分 关于第一贴,非常感谢你的回复,也因为这样。我已经将这个帖子的状态改成了以解决。只是后来,我听说有人能够让AutoIt脚本执行后,如果成功返回True,如果失败返回False。所以才接着问了一句。
另外,关于我的其他问题,你能够抽个时间帮我看看如何解决。
谢谢... 本帖最后由 rolaka 于 2009-7-14 16:14 编辑
1 给谁? 最简单的 学windows写log这种东西没有给出实际操作的设想 没人能搞的说
2
(1) 参见help文档 ControlListView函数这个不行...麻烦了
(2) 最好安装程序提供命令行模式 就像win的补丁那样 一般的安装文件 可以把窗口拉到屏幕之外 然后发送操作的办法或者也可以在运行安装文件的时候 直接@SW_HIDE 接着就用Control系列指令操作 相关函数参见help文档 -> 函数参考 -> 窗口管理 -> Control
(3) 不大能理解
这个 我等下试试看 能给出源码就给
用下面的 就算是@sw_hide都ok的...
ControlClick('foobar2000 v0.9.6.8 Setup', '', '', 'left', 2)
ControlClick('foobar2000 v0.9.6.8 Setup', '', '', 'left', 2)
ControlClick('foobar2000 v0.9.6.8 Setup', '', '', 'left', 2)
ControlSend ('foobar2000 v0.9.6.8 Setup', '', '', 'C:\Users\Hyperion\Desktop\foobar2000\')
ControlClick('foobar2000 v0.9.6.8 Setup', '', '', 'left', 2)
3. 稍后给源码...orz... 其实可以直接用send指令 发送tab&enter键 具体位置也可以根据控件和窗体左上角坐标来算相对位置来操作滴...
...这个...这个参照上面
4. ...orz...参数没给全...run要附加flag的
help里的例子
示例/演示
; Demonstrates StdoutRead()
#include <Constants.au3>
Local $foo = Run(@ComSpec & " /c dir foo.bar", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Local $line
While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
MsgBox(0, "STDOUT read:", $line)
Wend
While 1
$line = StderrRead($foo)
If @error Then ExitLoop
MsgBox(0, "STDERR read:", $line)
Wend
MsgBox(0, "Debug", "Exiting...")
你可以搜论坛里面的ping工具 那些就是最好的例子 4# rolaka
- 我看到你的回复中多次提到orz,这是什么的缩写?
- 你在回复中提到使用ControlListView,但Windows中树状控件不是叫ControlTreeView么?
- 真的是非常期待你的关于skype或者是Kaspersky的安装实例程序。想知道具体是如何通过操作(tab&enter)来操作安装程序。
非常感谢你的回复,虽然有些地方好还看的不是很明白。呵呵... 终于找到如何得到AutoIt 脚本或者是应用程序的执行结果了。用staf(http://staf.sourceforge.net/),安装之后。在命令行上输入:
staf local process start shell command autoit-run-notepad.exe wait
你就能在程序运行完成后得到这个脚本的运行结果了。 谢谢楼主分享,收藏之 本帖最后由 rolaka 于 2009-7-18 17:12 编辑
4# rolaka
- 我看到你的回复中多次提到orz,这是什么的缩写?
- 你在回复中提到使用ControlListView,但Windows中树状控件不是叫ControlTreeView么?
- 真的是非常期待你的关于skype或者是Kaspersky的安装 ...
gywx 发表于 2009-7-15 13:11 http://www.autoitx.com/images/common/back.gif
- 你在回复中提到使用ControlListView,但Windows中树状控件不是叫ControlTreeView么?
..写错了...
- 真的是非常期待你的关于skype或者是Kaspersky的安装 ...
...可以计算控件在窗体里的相对位置...具体的可以搜索或者看help里关于opt的项目
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("窗体1", 243, 99, 302, 218)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
$Button1 = GUICtrlCreateButton("点我~", 56, 32, 137, 33, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button1Click")
GUISetState(@SW_SHOW)
Opt('MouseCoordMode', 0)
MouseClick("" , 100, 80)
While 1
Sleep(100)
WEnd
Func Button1Click()
MsgBox(0, "", "我被点了下")
EndFunc
Func Form1Close()
Exit
EndFunc
页:
[1]